MySQL数据表管理(下)

一、查看表基本结构

1.语法:DESCRIBE/DESC 表名;

2.结果含义:

Field:字段名

Type:字段类型

Null:是否可以为空

Key:是否编制索引(如是否是主键)

Default:默认值

Extra:附加信息,如自增列

二、查看表详细结构

1.语法:SHOW CREATE TABLE 表名;(可以查看创建这张表所使用的语句)

2.格式化显示结果:SHOW CREATE TABLE 表名 \G;

三、修改数据表

1.修改表名

(1)语法:ALTER TABLE 旧表名 RENAME TO 新表名;

(2)示例:alter table user rename to users;

2.修改字段名

(1)语法:ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型;

(2)示例:把玩家表中的user_qq字段改为user_id

          alter table users change user_qq user_id int;

3.修改字段数据类型

(1)语法:ALTER TABLE 表名 MODIFY 字段名 字段类型;

(2)示例:把游戏表中的game_uid这列改为int类型

         alter table games modify game_uid int;

4.添加和删除字段

(1)添加字段语法:ALTER TABLE 表名 ADD 添加字段的名称 字段类型;

(2)删除字段语法:ALTER TABLE 表名 DROP 要删除的字段名称;

5.添加主键约束

(1)语法:ALTER TABLE 表名 ADD CONSTRAINT CON_NAME(约束名称) PRIMARY KEY (COL_NAME);

(2)示例:给users这张表的user_id这一列添加主键约束

        alter table users add constraint pk_users_user_id primary key (user_id);

6.添加外键约束

(1)语法:ALTER TABLE 表名 ADD CONSTRAINT CON_NAME FOREIGN KEY (外键列名称) REFERENCES 引用表名(引用表的列名)

(2)示例:为scores这张表的game_uid这一列添加外键约束,要求它引用的是games这张表的game_uid这一列

        alter table scores add constraint fk_scores_games foreign key(game_uid) references games(game_uid);

7.添加检查约束

(1)语法:ALTER TABLE 表名 ADD CONSTRAINT 约束名称 CHECK(检查约束表达式);

(2)示例:为games这张表的game_uid添加检查约束,要求game_uid>0

         alter table games add constraint ck_games_game_uid check(game_uid>0);

8.添加默认约束

(1)语法:ALTER TABLE 表名 ALTER 要修改列的名称 SET DEFAULT 默认值;

(2)示例:把users这张表的user_sex这列默认值设为男

         alter table users alter user_sex set default '男';

9.添加自增列约束

(1)语法:ALTER TABLE 表名 MODIFY COLUMN 列的名称 列的类型 是否为空 AUTO_INCREMENT PRIMARY KEY;

(2)示例:把games这张表的game_uid这一列变为自增列

         alter table games modify column game_uid int not null auto_increment primary key;

10.添加唯一约束

(1)语法:ALTER TABLE 表名 ADD UNIQUE(列名);

(2)示例:alter table users add unique(user_id);

四、删除数据表

1.删除无关联数据表

(1)语法:DROP TABLE [IF EXISTS] 表名1, 表名2...;(其中if exists 为可选项,表示如果表存在就删除,不存在不做任何操作;同时删除多张表,表名用逗号隔开)

(2)示例:删除scores这张表

        drop table scores;

2.删除有关联数据表

当两张表有主外键的引用关系,我们应该先删除外键所在的那张表。如果先要删除主键所在的那张表就得先解除关联关系(删除外键约束)。

ALTER TABLE 从表名称 DROP FOREIGN KEY 约束名称;

DROP  TABLE 表名;

示例:alter table scores drop foreign key fk_scores_games;

           alter table scores drop foreign key fk_scores_users;

           drop table scores;

猜你喜欢

转载自blog.csdn.net/weixin_42051619/article/details/83044980