数据库关于修改表的一些只是总结

在我们设计数据库的时候,难免会有需要修改的地方,今天我就把自己学习的关于数据库的表修改的一些知识做一个总结。

对于每一个知识点我会举一个例子,我以一个名为test的表举例,test里面包含的列有idnameagecontent,这样可以帮助我们更好的理解这些知识。

修改列的数据类型

alter table test modify name varchar 30);

追加新列 

alter table test add sex char(2);

  改变列的位置

alter table test modify content after name

  改变列名和类型

alter table test change age old tinyint

  删除列 

alter table test drop sex

  删除表 

drop table test

表的列构造+数据的复制

      create table test2 select * from test

复制列构造 

create table test3 like test

数据的复制

insert into test3 select * from test

10 在修改表时添加主键约束

alter table test add constraint pk primary key id);

11 在修改表示删除主键约束

       alter table test drop primary key

12 在修改表示添加外键约束

alter table test add constraint fk foreign key id) references test2 id);

13 在修改表时删除外键约束

alter table test drop foreign key fk;注:fk为外键名称

14 在修改表时添加默认值约束

alter table test alter sex set default f’;

15 在修改表时删除默认值约束 

alter table test alter sex drop default

16 在修改表时添加非空约束

       alter table test modify name varchar20) not null

注:在mysql数据库中,非空约束是不能删除的,但是可以将设置成not null的列修改成null,实际也就相当于取消了非空约束。

17 在修改表时添加检查约束

       alter table test add constraint checkname checkage>19);

mysql中,就算添加检查约束,但还是可以加入不合法数据

18  在修改表是添加一个唯一约束

alter table test add constraint uq uniquename);

19 在修改表时删除唯一约束

drop index uq on test; 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值