表的创建: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)
)

效果截图:

SQL Server语言创建学生课程数据库 sql server怎么创建课程表_默认值

创建一个表student

 

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

SQL Server语言创建学生课程数据库 sql server怎么创建课程表_字段名_02

SQL语句创建表成功

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

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

SQL Server语言创建学生课程数据库 sql server怎么创建课程表_字段_03

打开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 Server语言创建学生课程数据库 sql server怎么创建课程表_字段名_04

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

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

 

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