创建,修改和删除表

1、表的创建

(1)创建表,包含非空和默认值约束

 

 

包含非空约束的列,当在添加数据时,如果该列值为NULL,则数据库会报错,添加失败。非空约束避免了由于用户的误操作导致的数据不完整性。

(2)向表中添加数据

 

执行结果:

有结果可知,对于允许为空的字段birthday,在没有插入任何数据的情况下,默认为NULL,插入操作得以正确执行。

对于有默认值的字段,当没有给它设置值时,它被以默认值填充。

 

2、表的修改

(1)增加新列

当向已有数据的表中添加新列的时候,DBMS默认新列的值为NULL,如果为新列增加非空约束,则必须为它指定默认值。当然,如果表中不存在任何数据,则不存在这个问题。

例如向学生表中增加email字段(此时student表中已经有两条数据记录)

 

执行的结果是报错,修改为:

 

执行结果:

(2)删除列

  • 在SQL SERVER中,可以直接删除没有任何约束的列。

eg:删除没有任何约束的列birthday

 

  • 在SQL server2000中有非空约束的列的删除必须先删除非空约束,才能删除该列,但是在sql server 2005中,有非空约束的列也可以直接删除。
  • 那些赋予默认值,作为主键或者在另外表中作为外键的列则不能删除

eg:企图删除默认值为‘男’的sex 列,执行

alter table student 

drop column sex将失败

删除列后,该列的所有数据也被删除了。

 

(3)修改列

eg1:修改数据允许的最大长度

alter table student 

alter column Email char(25)

在这里要注意,一般是增长最大的数据长度,如果是减少最大的数据长度时,如果已有数据的长度大于要减少到的长度,则出于对已有数据的保护,表的修改会失效。

 

eg2:去掉为空约束

 

alter table student 

alter column sname char(20) null

 

 

eg3:改变列的数据类型

 

alter table student 

alter column sno char(5) not null

这种情况要求旧的数据类型必须和新的数据类型兼容。比较常用的是从int型或者decimal型转换成char型。

 

 

3、表的删除和重命名

(1)表的重命名

eg:将student表改名为mystudent

sp_rename 'student','mystudent'

 

eg:重命名表中的列

sp_name 'mystudent.sname','studentname','colume'

 

eg:删除mystudent表

drop table mystudent

 

删除表后,该表的所有数据也被删除了。当某表与其他表存在某种关系时,某些DBMS要求先删除这种关联之后,才允许删除该表。

 

4、数据库的创建、修改和删除

一个例子:

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值