失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql 从库修改表结构_在mysql数据库中---修改表结构

mysql 从库修改表结构_在mysql数据库中---修改表结构

时间:2019-08-31 22:06:39

相关推荐

mysql 从库修改表结构_在mysql数据库中---修改表结构

显示表结构

Show create table 表名

Show columns from 表名

修改数据表

添加单列:

Alter table tbl_names ADD [column] col_name column_definition [first|after col_name]

添加多列:

Alter table tbl_name ADD 【column】 (col_name coumn_definition,...)

注:不可以选择位置。只添加在最后

删除列:

Alter table tbl_name drop [column] col_name

删除多列:

Alter table tbl_name drop [column] col_name,drop [column] col_name,....

删除的同时添加

Alter table tbl_name drop [column] col_name,add [column] col_name column_definition [first|after col_name]

添加主键约束:

Alter table tbl_name add [constraint [symbol]] primary key [index_type] (index_col_names,....)

添加唯一约束

Alter table tbl_name add [constraint [symbol]] unique [index|key] [index_name][index_type] (index_col_name,....)

添加删除默认约束

Alter table tbl_name alter 【column】 col_name {set default literal | drop default}

数据表的修改操作:无非就是添加列,删除列,添加约束,删除约束。用的是ALTER,而INSERT是对数据表添加插入记录用的。

1.添加主键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)

e.g:ALTER TABLE users ADD CONSTRAINT PK_users_id PRIMARY KEY (id);

2.添加唯一约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

e.g:ALTER TABLE users ADD UNIQUE (username);

3.添加外键约束

添加外键约束

要求同之前相同

(1)相同的存储引擎

(2)数字的数据类型相同,本节中均为SMALLINT ,符号为UNSIGNED

因为参照列中存在PRIMARY KEY,有索引,所以外键列会自动创建索引格式

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY index_name reference_definition

e.g:ALTER TABLE users ADD FOREIGN KEY (pid) REFERENCES provinces (id)

4.添加/删除默认约束 DEFAULT

ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

e.g:

ALTER TABLE users ADD age TINYINT UNSIGNED NOT NULL;

ALTER TABLE users ALTER age SET DEFAULT 15;

ALTER TABLE users ALTER age DROP DEFAULT;

查看key和索引: show indexes from 表名 [\G] // 可以查看key_name (和字段名相同)

查看外键: show create table 表名

删除主键约束 ALTER TABLE tbl_name DROP PRIMARY KEY; // 唯一所以不用key_name

删除唯一约束 ALTER TABLE tbl_name DROP {INDEX|KEY} key_name; // 唯一约束有多个, 需要具体的名字

删除外键约束 ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol // fk_symbol是外键约束的名字.系统会自动给外键列创建名称,通过SHOW CREATE TABLE 表名 来查看其中CONSTRAINT后加注的字段名称

修改列定义:modify,change:

ALTER TABLE 表名 MODIFY 列名 数据类型 其他属性

举例:ALTER TABLE users2 MODIFY id SMALLINT UNSIDNED FIRST;

ALTER TABLE 表名 CHANGE 列名 新列名 数据类型 其他属性

举例:ALTER TABLE users2 CAHNGE pid p_id SMALLINT UNSINGED NOT NULL;

表重命名的两种方法:rename和rename to

ALTER TABLE 表名 RENAME [TO|AS] 新表名

举例:ALTER TABLE users2 RENAME users3;

RENAME TABLE 表名 TO 新表名;

举例:RENAME TABLE users3 TO users2;

本节知识点

约束:

按功能划分:not null ,primary key, unique key,default,foreign key

按数据列的数目化为:表级约束,列级约束

修改数据表:

针对字段的操作:添加\删除字段、修改列定义、修改列名称等

针对约束的操作:添加\删除各种约束

针对数据表的操作:数据表更名(两种方式)

如果觉得《mysql 从库修改表结构_在mysql数据库中---修改表结构》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。