USE Student
--创建系别表
CREATE TABLE Department1(
DeptId INT IDENTITY(1001,1) NOT NULL,--自动增长列
DeptName VARCHAR(30) NOT NULL,--系别名称
)
--创建学生表
CREATE TABLE Students(
StuId varchar(5) not null,--学生编号
StuName varchar(20) not null,--学生姓名
StuSex bit not null,--学生性别
StuAge int not null ,--年龄
StuBornDate datetime not null ,--出生日期
StuPhone varchar(18) null,--电话
StuAddress varchar(200) null,--住址
DeptId int not null --系别编号
)
--创建课程表
CREATE TABLE Course(
CourseId VARCHAR(4) not null,-- 课程编号
CourseName VARCHAR(20) not null,--课程名称
Credit INT not null --学分
)
--创建成绩表
CREATE TABLE Score(
StuId VARCHAR(5) not null,-- 学生id
CourseId VARCHAR(4) not null,--课程编号
ExamDate DATETIME null,--考试日期
ExamScore FLOAT not null --考试成绩
)
--修改表名
exec sp_rename Students,StudentInfo -- exec调用存储过程的关键字
--增删改 字段 语法
ALTER TABLE Students
ADD IdCard VARCHAR(18) not null --增加列
ALTER TABLE Students
DROP COLUMN IdCard --删除列
ALTER TABLE Students
ALTER COLUMN StuAddress VARCHAR(200) not null --修改列
--讲数据库的学生表删除
if exists (select * from sysobjects where name='Student')--判断当前是否存在学生表
drop table Students --删除表结构
-- 添加约束
--1主键约束 PK_student
ALTER TABLE Students
ADD CONSTRAINT PK_StuId PRIMARY KEY(StuId) --将stuid设为主键
--2默认约束 defauLt DF_Address
ALTER TABLE Students
ADD CONSTRAINT DF_StuAddress DEFAULT('地址不详') FOR StuAddress
--3检查约束 CK_StuAge
ALTER TABLE Students
ADD CONSTRAINT CK_StuAge CHECK(StuAge>0) --将stuage设置为检查约束
--4添加唯一约束 UQ_StuPhone
ALTER TABLE Students
ADD CONSTRAINT UQ_StuPhone UNIQUE(StuPhone) --将stuphone设置为唯一约束
--5添加主键约束 PK_DeptId
ALTER TABLE Department1
ADD CONSTRAINT PK_DepId PRIMARY KEY(DeptId) --将deptid设置为主键
--6添加外键约束
ALTER TABLE Students
ADD CONSTRAINT FK_DeptId FOREIGN KEY(DeptId)
REFERENCES Department1(DeptId) --主表是 系别表 从表是students表
--7添加唯一约束(deptname)
ALTER TABLE Department1
ADD CONSTRAINT UQ_DeptName UNIQUE(DeptName)
--删除默认约束
ALTER TABLE Students
DROP CONSTRAINT DF_StuAddress
--删除唯一约束
ALTER TABLE Students
DROP CONSTRAINT UQ_StuPhone
--创建系别表
CREATE TABLE Department1(
DeptId INT IDENTITY(1001,1) NOT NULL,--自动增长列
DeptName VARCHAR(30) NOT NULL,--系别名称
)
--创建学生表
CREATE TABLE Students(
StuId varchar(5) not null,--学生编号
StuName varchar(20) not null,--学生姓名
StuSex bit not null,--学生性别
StuAge int not null ,--年龄
StuBornDate datetime not null ,--出生日期
StuPhone varchar(18) null,--电话
StuAddress varchar(200) null,--住址
DeptId int not null --系别编号
)
--创建课程表
CREATE TABLE Course(
CourseId VARCHAR(4) not null,-- 课程编号
CourseName VARCHAR(20) not null,--课程名称
Credit INT not null --学分
)
--创建成绩表
CREATE TABLE Score(
StuId VARCHAR(5) not null,-- 学生id
CourseId VARCHAR(4) not null,--课程编号
ExamDate DATETIME null,--考试日期
ExamScore FLOAT not null --考试成绩
)
--修改表名
exec sp_rename Students,StudentInfo -- exec调用存储过程的关键字
--增删改 字段 语法
ALTER TABLE Students
ADD IdCard VARCHAR(18) not null --增加列
ALTER TABLE Students
DROP COLUMN IdCard --删除列
ALTER TABLE Students
ALTER COLUMN StuAddress VARCHAR(200) not null --修改列
--讲数据库的学生表删除
if exists (select * from sysobjects where name='Student')--判断当前是否存在学生表
drop table Students --删除表结构
-- 添加约束
--1主键约束 PK_student
ALTER TABLE Students
ADD CONSTRAINT PK_StuId PRIMARY KEY(StuId) --将stuid设为主键
--2默认约束 defauLt DF_Address
ALTER TABLE Students
ADD CONSTRAINT DF_StuAddress DEFAULT('地址不详') FOR StuAddress
--3检查约束 CK_StuAge
ALTER TABLE Students
ADD CONSTRAINT CK_StuAge CHECK(StuAge>0) --将stuage设置为检查约束
--4添加唯一约束 UQ_StuPhone
ALTER TABLE Students
ADD CONSTRAINT UQ_StuPhone UNIQUE(StuPhone) --将stuphone设置为唯一约束
--5添加主键约束 PK_DeptId
ALTER TABLE Department1
ADD CONSTRAINT PK_DepId PRIMARY KEY(DeptId) --将deptid设置为主键
--6添加外键约束
ALTER TABLE Students
ADD CONSTRAINT FK_DeptId FOREIGN KEY(DeptId)
REFERENCES Department1(DeptId) --主表是 系别表 从表是students表
--7添加唯一约束(deptname)
ALTER TABLE Department1
ADD CONSTRAINT UQ_DeptName UNIQUE(DeptName)
--删除默认约束
ALTER TABLE Students
DROP CONSTRAINT DF_StuAddress
--删除唯一约束
ALTER TABLE Students
DROP CONSTRAINT UQ_StuPhone