美文网首页
7.修改数据表

7.修改数据表

作者: 葡萄超好吃 | 来源:发表于2018-07-05 10:35 被阅读0次

    针对字段操作:添加/删除字段,修改列定义,列名

    针对约束操作:添加/删除

    针对数据表操作:数据表更名(rename)

    1 添加单列

    ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [ FIRST|AFTER col_name ]

    默认向后追加,afer first

    2 添加多列

    ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...)

    PS:添加单列可以指定位置关系 ,添加多列不可以指定位置关系

    3 删除列

    ALTER TABLE tbl_name DROP [COLUMN] col_name

    ALTER TABLE tbl_name DROP [COLUMN] col_name,DROP col_name,ADD col_name col_definition(可以同时操作,用逗号隔开操作)

    4 添加主键约束

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

    eg: ALTER TABLE user2 ADD CONSTRAINT PK_user2_id PRIMARY KEY (id);

    5 添加唯一约束(可以多个)

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

    6 添加外键约束

    ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition

    eg: ALTER TABLE user2 ADD FOREIGN KEY (pid) REFERENCES provinces (id);

    7 添加/删除默认约束

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

    添加 删除

    8 删除主键约束

    (因为主键只有一个所以不需要指定名称)

    ALTER TABLE tbl_name DROP PRIMARY KEY 

    9 删除唯一约束

    ALTER TBALE tbl_name DROP {INDEX|KEY} index_name;

    在删除唯一约束的时候,首先要查看约束的名字即key_name

    show indexes from user2\G(以网格形式呈现\G),这里key_name 为username,

    查看约束 删除一个,只有一个约束了

    10 删除外键约束

    ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol

    首先要查看外键约束的名称,这个名称是系统给的

    show create table user2

    系统赋予外键约束名称“user2_ibfk_1”

    ALTER TABLE user2 DROP FOREIGN KEY user2_ibfk_1;

    11 修改数据表

    1)修改列定义

    ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]

    PS : 大数据修改为小数据时,会造成数据丢失。

    2)修改列名称

    ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]

    3)修改数据表名

    方法1 ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name

    方法2 RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]...

    PS:尽量不要随意更改列名,数据表名

    相关文章

      网友评论

          本文标题:7.修改数据表

          本文链接:https://www.haomeiwen.com/subject/tbjpsftx.html