1.数据库的操作
use master
go
--1.创建一个数据库School
--create database School;
--删除数据库School
--drop database School;
--创建数据库的时候指定一些选项
create database School
--设置数据库信息
on primary
(
--设置数据文件的逻辑名称
name='School',
--文件存放地址
filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\School.mdf',
--数据文件的初始大小
size=5MB,
--设置数据文件的自增长每次增加10MB
--filegrowth=10MB,
--设置数据文件的自增长每次增加3%
filegrowth=10%,--按照文件的百分比来增长
--设置数据文件的最大大小
maxsize=100MB
)
--设置日志信息
log on
(
--设置数据日志的逻辑名称
name='School_log',
filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\School.ldf',
size=3MB,
filegrowth=3%,
maxsize=20MB
)
2.表结构的操作
--切换数据库
--use School;
--go
---创建一个班级表
create table TblCalss
(
--主键,不为空的自增增长列
tclassId int identity(1,1) not null primary key,
tclassName nvarchar(50) not null,--班级名称
tclassDesc nvarchar(100) null --班级备注信息
)
go
--在School数据库中创建一个学生表。TblStudent
create table TblStudent
(
--表中列的定义在这对小括号中
--主键,不为空的自增长列
--tsid int identity(1,1) primary key,
tsid int identity(1,1) not null primary key,
tsname nvarchar(10) not null,--学生名称
tsgender bit not null,--性别
tsaddress nvarchar(300) null, --住址
tsphone varchar(100) null, --电话
tsage int null, --年龄
tsbirthday datetime null, --生日
tscardId varchar(18) null, --学号
tsclassId int not null --班级ID
)
go
--删除表
--drop table TblCalss
--删除所有数据,并且重置种子列
truncate table TblCalss
--表结构操作
--手动删除一列(删除EmpAddress列)
alter table Employees drop column EmpAddress
--手动增加一列(增加一列EmpAddr varchar(1000))
alter table Employees add EmpAddr varchar(500) not null
--手动修改一下EmpEmail的数据类型(varchar(200))
alter table Employees alter column EmpEmail varchar(200) not null
3.约束的操作
--约束的种类:
--1.主键约束
--2.外键约束
--3.唯一约束
--4.默认约束
--5.检查约束
--6.非空约束
--为EmpId增加一个主键约束
alter table Employees add constraint PK_Employees_EmpId primary key(EmpId)
--为EmpName增加一个非空约束
alter table Employees alter column EmpName varchar(50) not null
--为EmpName增加一个唯一约束
alter table Employees add constraint UQ_Employees_EmpName unique(EmpName)
--为性别增加一个默认约束,默认为'男'
alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender
--为年龄增加一个检查约束:年龄必须在1-120岁之间,含岁与岁。
alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=1 and EmpAge<=120)
--增加外键约束
alter table Employees add constraint FK_Employees_DepId foreign key(DepId) references Department(DepId)
--设置外键之后可以设置级联关系,在删除主键的时候级联删除外键数据,更新主键的时候级联更新外键数据
--通过sql语句删除约束
alter table Employees drop constraint UQ_Employees_EmpName
--通过一句代码来创建多个约束
alter table Employees add
constraint UQ_Employees_Empname unique(EmpName),--唯一约束
constraint CK_Employees_EmpAge check(EmpAge>=1 and EmpAge<=120),--检查约束
constraint DF_Employees_EmpGender default('男') for EmpGender,--默认值约束
constraint FK_Employees_Department foreign key(DepId) references Department(DepId) on delete cascade on update cascade --外键约束(包括级联删除和级联更新)
--用一句话来删除相应的多个约束
alter table Employees drop constraint
UQ_Employees_EmpName,
FK_Employees_DepId,
CK_Employees_EmpAge,
DF_Employees_EmpGender