注:示例中的表名以及字段名有一些不统一,若有看到的不要直接代入执行。参考语法结构即可。
1.创建数据库
/*创建数据库libraryDB*/ CREATE DATABASE libraryDB ON ( /*数据库文件的详细描述*/ name= 'libraryDB_mdf', --主数据库文件的逻辑名 filename = 'E:\library\libraryDB_mdf.mdf', --主数据文件的物理名 size = 3MB, --初始大小 maxsize=100,--最大值 fiegrowth= 20% --增长率 ) LOG ON ( /*日志文件的详细描述*/ NAME = 'libraryDB_ldf', --日志文件的逻辑名 FILENAME = 'E:\library\libraryDB_ldf.ldf', --日志文件的物理名 SIZE = 1MB, --初始大小 MAXSIZE = 15MB, --最大值 FILEGROWTH = 10% --增长率 ) GO
2.数据表(创建/修改/删除)
--判断BookType表是否存在,存在则删除 if exists (select 1 from sysobjects where [name]='BookType') begin drop table BookType end --创建图书类型表:BookType create table BookType ( TypeId int not null identity(1,1) primary key, --图书类型编号(主键、标识列、从1开始、每次增加1) TypeName varchar(50) not null, --图书类型名称 Remark varchar(100) --备注信息 ) --添加字段 alter table BookType add Sex char(2) --修改字段 alter table BookType alter column Sex char(50) --删除字段 alter table BookType drop column sex --删除表BookType drop table BookType
3.约束 (创建、删除和修改)
1.非空约束
列的空性决定表中的行是否为该列包含空值。空值(或NULL)不同于零(0)、空白或长度为零的字符串(如“”“”)
2.主键约束
通过定义primary key约束来创建主键约束,用于强制表的实体完整性,保证数据的唯一性。一个表只能有一个主键约束,且不能为空值。
经常对标识列定义这种约束。
----建表时创建主键参考上面建表ID字段 --为现有表添加主键 alter table BookType add constraint PK_BookType_TypeId primary key(TypeId) --删除主键只需要将add替换为drop
3.唯一约束
唯一约束unique用于轻质实施列表中值得唯一性。表中任意两行都不能有相同的列值。另外,主键也强制实施唯一性,但主键不允许NULL为唯一值。
注:若要修改唯一约束,必须先将现有唯一约束删除,在重新定义唯一约束
---建表时创建唯一约束 create table BookType ( TypeId int not null identity(1,1) primary key, --图书类型编号(主键、标识列、从1开始、每次增加1) TypeName varchar(50) unique, --图书类型名称 Remark varchar(100) --备注信息 ) ----现有表中创建唯一约束 alter table BookType add constraint UQ_BookType_TypeName unique (TypeName) --删除唯一约束 alter table BookType drop constraint UQ_BookType_TypeName
4.检查约束
检查约束check可以强制域的完整性,控制表中放入的值
注:若要修改检查约束,必须先将现有检查约束删除,在重新定义检查约束
---创建表时创建检查约束 create table Student ( StuId int identity primary key,--学生编号 StuName varchar(50) not null,--学生姓名 --StuSex char(2) check(StuSex='男'or StuSex='女') StuSex char(2)check(StuSex in('男','女')) ) ---现有表创建检查约束 alter table Student add constraint CK_Student_Sex check(StuSex='男'or StuSex='女') --删除检查约束 alter table Student drop constraint CK_Student_Sex
5.默认约束
定义默认约束default来创建默认值
注:若要修改默认约束,必须先将现有检查默认删除,在重新定义默认约束
---创建表时创建检查约束 create table Student ( StuId int identity primary key,--学生编号 StuName varchar(50) not null,--学生姓名 StuSex char(2) check(StuSex='男'or StuSex='女') default '女' --StuSex char(2)check(StuSex in('男','女')) ) --现有表创建默认约束 alter table Student add constraint Def_Student_Sex default '女' for StuSex --删除默认约束 alter table Student drop constraint Def_Student_Sex
6.外键约束
注:若要修改外键约束,必须先将现有检查外键删除,在重新定义外键约束
---创建表时创建检查约束 create table StudentInfo ( Id int identity primary key,--编号 phone varchar(50),--电话 HommeAddress varchar(50),--住址 remark varchar(50),--描述 constraint FKid foreign key(Id) references Student(StuId) ) --现有表创建外键 alter table StudentInfo add constraint FKid foreign key(Id) references Student(StuId) --删除外键约束 alter table StudentInfo drop constraint FKid
4.数据操作(添加、修改和删除)
1.使用insert添加数据
--向表中某些字段添加数据 insert into Student (StuName,StuSex ) values('张三','女')
--向表中所有字段添加数据 insert into Student values('王芳','男')
2.使用update修改数据
--修改数据 update Student set StuSex='女' where StuName='张三' update Student set StuSex='男' where StuName='王芳'
3.使用delete删除数据
--删除数据 delete Student where StuName='lina'