MySQL修改语句

本文详细介绍了如何在MySQL中修改表名、列名、数据类型、索引及约束,包括添加、删除和调整列,演示了如何更改主键和外键,以及处理NULL和NOTNULL状态。无论是初学者还是经验丰富的开发者,都能找到关于表结构管理的实用技巧。
摘要由CSDN通过智能技术生成

修改表名

用法:alter table 旧表名 rename 新表名;
mysql> alter table TYPE rename type;
ALTER TABLE old_table_name RENAME (TO) new_table_name;
RENAME TABLE old_table_name TO new_table_name;

上面两句都可以修改表名字

修改表的列名

用法:alter table 表名 change 旧表名 新表名 类型;
mysql> alter table type change name type_name varchar(30) not null;
ALTER TABLE table_name CHANGE old_col_name new_col_name datatype;

datatype 可以保持原来的,也可以改成新的

修改表某一列的类型

用法:alter table 表名 modify 列名 类型;
mysql> alter table type modify type_name varchar(100);
ALTER TABLE table_name MODIFY col_name new_datatype;
ALTER TABLE table_name CHANGE col_name col_name new_datatype;

修改某一列的数据类型

增加一列

用法:alter table 表名 add 列名 类型;
mysql> alter table type add age int(11);

删除一列

用法:alter table type drop 列名;
mysql> alter table type drop age;

修改列的位置

ALTER TABLE table_name MODIFY col_name datatype FIRST; # 把某一列调到第一列
ALTER TABLE table_name MODIFY col_name datatype AFTER another_col_name; # 把一列调到另外一列的后边

上面两句的datatype都可以保持原来的,或者改成新的

修改UNIQUE KEY约束

ALTER TABLE table_name DROP INDEX|KEY uk_name; # 清楚原先的unique 约束, un_name是unique约束的名字
ALTER TABLE staff ADD UNIQUE KEY new_uk_name (col1, col2, …)# 添加新的unique约束

修改主键

ALTER TABLE table_name DROP PRIMARY KEY; 删除主键
ALTER TABLE table_name ADD PRIMARY KEY (col_name); 添加主键

修改外键

ALTER TABLE table_name DROP FOREIGN KEY fk_name;

上一句只会删除外键约束,但是外键的索引没有删除,利用show create table table_name \G;发现外键的名称还在,但是约束没了

ALTER TABLE table_name DROP INDEX|KEY fk_name; # 此句是为了删除外键索引
ALTER TABLE table1 ADD
CONSTRAINT fk_name foreign key (table1_col)
REFERENCES table2(table2_col); # 添加外键

修改null和not null

ALTER TABLE table_name MODIFY col_name datatype NOT NULL; # 把原来NULL的修改为NOT NULL;
ALTER TABLE table_name MODIFY col_name datatype NULL; # 把原来NOT NULL的修改为NULL;

修改默认值

ALTER TABLE table_name ALTER col_name SET DEFAULT new_value;

把某列的default值修改为new_value

更新数据

UPDATE table_name SET col1 = value1, col2 = value2, … WHERE condition;

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值