SQL server中表的创建和修改create alter

表的创建:create table创建表

语法:

Create table <表名>

(

<字段名1><数据类型>[not null][default<默认值> ],

<字段名1><数据类型>[not null][default<默认值> ]

.

.

.

);

Create table student

(

学号 char(4) not null,

性别 char(2) not null default ‘男’,

出生日期 datetime,

来源地 varchar(50)

);

 

设置主键的两种方法:

方法一:学号 char(4) Constraint firstkey primary key not null

方法二:

学号 char(4) not null,

课程 char(3) not null,

Constraint xh_kc primary key(学号,课程)  这种方法可以设置多个主键,即联合主键,必须使用这种方法。xh_kc是主键约束名,由自己随便定义。

 

表的修改:alter table

1.修改字段:

Alter table 表名

Alter column

字段名 数据类型[(长度)];

 

2.增加字段

Alter table 表名

Add

字段名 数据类型[(长度)][default<默认值>];

 

3.删除字段

Alter table 表名

Drop column

字段名;

注意:有主键约束和默认值的字段不能删除,要删除默认值的字段,必须先删除默认值属性:

先用:

Alter table 表名

Drop column

字段名;

显示会失败,会出现默认值属性,例如:DF_student_婚否_05D8E08E然后:

Alter table 表名

Drop constraint DF_student_婚否_05D8E08E 就删除了默认值属性约束了

然后再删除:

Alter table 表名

Drop column

字段名;

 

4.更改主键:

Alter table 表名

Add constraint 主键约束名

Primary key (字段名1,字段名2)

 

实验一下:

(一):

先创建一个表student,并创建联合主键:

create table student

(id char(4) not null,

name char(20) not null,

sex char(2) null default '男',

address varchar(50),

telephone tinyint,

date datetime,

huobi smallmoney,

constraint id_name primary key(id,name)

)

效果截图:

创建一个表student

 

打开表,看看表的结构是否一致,截图:

SQL语句创建表成功

太兴奋了,成功了,不过我发现date这个字段不对,结构图了显示的是[date]

不过打开表,发现是对的,截图:

打开SQL语句创建的表

发现字段还是DATE,看来设计数据表的时候要注意不喝SQL里的默认关键词冲突才好,一面造成不必要的错误。

 

(二)

修改数据表:

1. telephone的数据类型修改为smallint:

alter table student

alter column

telephone smallint

2. 将huobi字段删除:

Alter table student

Drop column

Huobi

3. 增加一个counts字段:

Alter table student

Add 

Counts float

4. 试探sex字段的默认值:

Alter table student

Drop column

Sex

结果显示:

对象 'DF__student__sex__78B3EFCA' 依赖于 列 'sex'

删除默认值属性:

Alter table student

Drop constraint DF__student__sex__78B3EFCA

删除sex字段:

Alter table student

Drop column

Sex

操作效果截图:

SQL alter操作修改增加删除表字段

都成功了,那是相当的兴奋,OH-YE!

 

总结:对于约束constraint x可以不写,也能执行,但是在删除约束的时候,需要用删除约束名的方式才能删除主键约束,重新修改主键。当然也可以删除一个带有约束的列来试探约束名是什么,删除约束名,就等于删除了约束了,就可以在此进行修改了,哈哈。

posted @ 2016-08-23 16:27  华翎科技  阅读(982)  评论(0)    收藏  举报