数据库-SQLServer表和约束的创建 MSSQL 表的操作3 学习笔记3

表的操作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(书号,编号) --联合主键的声明方式
)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猪宝宝哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值