表的创建: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可以不写,也能执行,但是在删除约束的时候,需要用删除约束名的方式才能删除主键约束,重新修改主键。当然也可以删除一个带有约束的列来试探约束名是什么,删除约束名,就等于删除了约束了,就可以在此进行修改了,哈哈。