表的操作3
3.3.1创建表的方法
3.3.1.1使用Management Studio
1.添加表
2.添加属性包括名称,数据类型,约束,然后保存刷新就可以看新建的表
3.3.1.1使用Create Table语句(推荐)
CREATE TABLE 语句用于创建数据库中的表。
表由行和列组成,每个表都必须有个表名。
SQL CREATE TABLE 语法
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
名词解释
column_name 参数规定表中列的名称。
data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
size 参数规定表中列的最大长度。
实例
现在我们想要创建一个名为 “Student” 的表,包含五列:ID、Name、Sex、Address 和 Telephone。
CREATE TABLE Student
(
ID int,
Name varchar(20),
Sex char(5),
Address varchar(50),
Telephone int
)
3.3.2 约束(Constraints)
3.3.2.1 约束介绍(Constraints)
SQL 约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止。
在 SQL 中,我们有如下约束:
NOT NULL:指示某列不能存储 NULL 值。
UNIQUE :保证某列的每行必须有唯一的值。
PRIMARY KEY :确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY :保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK :保证列中的值符合指定的条件。
DEFAULT :规定没有给列赋值时的默认值。
3.3.2.1 创建约束(Constraints)
1.约束可以在创建表时规定(通过 CREATE TABLE 语句)
SQL CREATE TABLE + CONSTRAINT 语法
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
2.在表创建之后规定(通过 ALTER TABLE 语句)。
alter table table_name
add constraint Constraint_Name Constraint_Type Constraint_Explain
实例1
CREATE TABLE StudentTable
(
ID int,
Name varchar(20),
Age int,
Sex char(5),
Address varchar(50)
--如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:
--CONSTRAINT pk_StudentID PRIMARY KEY (ID,Name)
)
create table GradeTable
(
ID int not null,
Grade int
)
--对学生表中的学号添加主键约束primary key
alter table Student
add constraint PK_ID primary key (ID)
--给姓名添加一个唯一约束
alter table Student
add constraint UN_Name unique (Name)
--给年龄添加一个检查约束,年龄大于18并且小于25岁 check
alter table Student
add constraint CK_Age check (Age>18 and Age<25) --and表示且,or表示或
--给性别添加一个默认约束,为男
alter table Student
add constraint DF_Sex default '男' for Sex
--给地址添加一个非空约束,为男
alter table Student
add constraint NN_Address NOT NULL
--给成绩表的学号添加一个外键
alter table GradeTable
add constraint FK_ID foreign key (ID)
references Student(ID)
实例2
create database tsgl
on primary
(
name='tsgl',
filename='D:\SQL\MSSQL15.MSSQLSERVER\MSSQL\DATA\tsgl.mdf',
size=8mb,
maxsize=128mb,
filegrowth=8mb
)
log on
(
name='tsgl_log',
filename='D:\SQL\MSSQL15.MSSQLSERVER\MSSQL\DATA\tsgl_log.ldf',
size=8mb,
maxsize=128mb,
filegrowth=8mb
)
use tsgl
create table ts
(
书号 char(20) primary key,--主键约束的写法
书名 char(20),
出版社 char(25),
类别 char(20),
作者 char(10),
出版时间 datetime,
价格 int check (价格>0) --检查约束的写法
)
create table dz
(
编号 char(20) primary key,--主键约束的写法
姓名 char(20),
单位 char(25) default '林林教育',--默认约束的写法
性别 char(5) check(性别='男' or 性别='女'),--检测约束的写法
电话 char(20) unique,--唯一约束
)
create table jy
(
书号 char(20) foreign key references ts(书号), --外键约束的写法
编号 char(20) foreign key references dz(编号),--外键键约束的写法
借阅时间 datetime,
还书时间 datetime,
还书标识 char(2),
primary key(书号,编号) --联合主键的声明方式
)