2.3 修改数据表结构

如果说我们想给某一个数据表添加字段,这个SQL语句应该是这样子的。

一、添加字段

alter table,然后写上表的名称,然后用动词add添加新的字段。字段的名称,数据类型儿,约束,还有注解,如果说是添加多个字段,结尾加上这个逗号,下面继续通过add添加新的字段,如果说是最后一个字段,结尾是不加这个逗号的,是要加上分号

我想往学生表里面添加两个字段,一个字段是家庭住址,另外一个字段是家庭电话,那咱们就把这个地址先给添加上来add address,这是字段的名字,然后再有是varchar类型的。这个长度要求是200个字符以内的,然后这个是not null的,不能为空。这个是家庭的这个紧急联系人的电话,那么hotel这块,比如说是char,然后长度是11,然后是not null,不能为空

ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,  #增加地址列
ADD home_tel CHAR(11) NOT NULL;     # 增加电话号码列

二、修改已有字段

对已有字段的修改,比如说我有的字段它的类型我想改一下,或者说把约束改一下,甚至想把注释改一下,这个都可以。那么这个SQL语句的关键字也叫做alter table,然后写上表的名称,用的这个动词,这个关键字叫做modify,然后写上原来的这个列的名字,后面你想改成什么样的类型,约束,注释,你就接着往下写就行了,当然说你要想修改多个字段,后面儿再写其他的这个modify就可以了。

咱们把刚才添加的hotel这个字段修改一下数据类型,原先的这个类型是char(11)的,如果说有的人留的是手机电话,这是没有问题,长度是11个字符,如果说留的是家庭电话,这个就坏了对吧?它的长度还不一样。我把这个字段改一下,就是alter table,然后是student写上咱们的那个动词,关键字叫做modify,然后修改的字段是home_tel字段

ALTER TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL  # 改变数据类型

,

三、修改已有字段名称

如果说我想把已有的字段修改一个名字,可不可以?当然可以用的这个SQL语句还是alter table表的名称写上去,然后跟上一个关键字叫做change,原来这个列的名字写上。那么这个列的新的名字在后面也写上这个列的数据类型,约束,注释,如果说没有变的话,那你就照着原样把它写下来就行了。这是修改了一个列的名字,当然的话下面可以写change,去修改其他的列的名字,这个都是可以的。

比如说,我想把address这个字段改成home_address,这样的新名称可不可以?当然是可以的。alter table语句写一下,然后表的名字还是student,然后关键字叫做change,原来的这个字段的名字叫address,然后新的字段的名字叫做home_address,这个数据类型还是varchar。然后这个长度没有变200约束,还是的好了,这个语句我写完了,那咱们就是把这个语句选择,然后运行一下

ALTER TABLE student
CHANGE address home_address VARCHAR(200) NOT NULL;  # 修改已有列名address

四、删除字段

如果数据表里边的字段你不想要了,可以把这个字段给删除掉,用到的这个语句还是alter table,写上表名称,这个关键字叫做drop,后面写上列名,不用再去声明它的数据类型了,直接就把这个列给删掉了。想删除这个多个列,那你后面再写drop,其他的这个列就可以了。所以这个alter table执行完以后,咱们的这个数据表的某些列就被删除掉了

现在我想把home_tell字段,还有是home_address字段给删掉,执行的语句,我写一下是alter table,然后是student,然后我们好不容易写好的两个字段,我现在把它给删掉。

ALTER TABLE student
DROP home_tel,  #删除电话字段
DROP home_address;  # 删除地址字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值