目录
数据库的创建 ....................................................................................................................... 1 数据表结构的建立与维护 ..................................................................................................... 3 数据查询 ............................................................................................................................... 5 数据表的操作 ....................................................................................................................... 6 视图 ...................................................................................................................................... 8 数据库的完整性 .................................................................................................................. 10 索引 .................................................................................................................................... 11 Transact-SQL语句的使用 ................................................................................................. 13 存储过程 ............................................................................................................................. 21 触发器 ................................................................................................................................ 22 事务(Transaction) .......................................................................................................... 23 分页 .................................................................................................................................... 25
数据库的创建
usemaster go
--先判断是否存在,如果存在,先执行删除
ifexists(select*fromsysdatabaseswherename='student') dropdatabasestudent --然后建库
createdatabasestudent on--primary
( ), ( ) logon ( ), ( ) go
--修改学生信息数据库 alterdatabasestudent modifyfile ( ) go
--添加一个信息文件
name='student_data1',--指定要修改的文件名称 --对该文件进行的修改 size=20mb
name='student_log2',
filename='D:\\SQLDB\\student_log2.ldf', size=3mb, maxsize=50mb, filegrowth=1mb name='student_log1',
filename='D:\\SQLDB\\student_log1.ldf', size=3mb, maxsize=50mb, filegrowth=1mb name='student_data1',
filename='D:\\SQLDB\\student_data1.ndf', size=10mb, maxsize=100mb, filegrowth=10% name='student_data',
filename='D:\\SQLDB\\student_data.mdf', size=10mb, maxsize=100mb, filegrowth=10%
alterdatabasestudent addfile ( ) 思考:
1.数据文件分为哪几类?分别有何作用?
数据文件分为下述3 类。
(1) 主要数据文件(.MDF):主要存放数据库的启动信息,并用于存储数据。每个数据库有且仅有一个主要数据文件。
(2) 次要数据文件(.NDF):次要数据文件也是用来存储数据的,它含有不能置于主要数据文件中的所有数据。如果主要数据文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。如果数据库很大,主要数据文件的容量超过了系统的限制,就需要设置一个或多个次要数据文件,并将它们放在不同的磁盘上。
(3) 事务日志文件(.LDF):主要包含用于恢复数据库的所有日志信息,这使得数据库出现故障或崩溃时可以把它恢复到最近状态,从而最大限度的减少由此带来的损失。每个数据库中必须至少包含一个日志文件,也可以有多个日志文件。
name='student_data2',--要添加的文件的名字
filename='D:\\SQLDB\\student_data2.ndf'-- .ndf文件大小默认 1mb
数据表结构的建立与维护
useMySchool go
createtableStudent(
StudentNointnotnull,
LoginPwdnvarchar(50)notnull, StudentNamenvarchar(50)notnull,
)
Sexbitnotnull, GradeIdintnotnull, Phonenvarchar(50)null, Addressnvarchar(255)null, BornDatedatetimenotnull, Emailnvarchar(50)null,
IdentityCardvarchar (18)notnull
useMySchool go
ifexists(select*fromsysobjectswherename='Student1') droptableStudent1
--给表创建主键约束 altertableStudent
addconstraintPK_StuNoprimarykey(StudentNo)
--创建唯一约束 altertableStudent
addconstraintUQ_StuIDunique(IdentityCard)
--创建默认约束,地址未知,显示地址不详 altertableStudent
addconstraintDF_StuAddressdefault('地址不详')forAddress --创建检查约束 altertableStudent
addconstraintCK_stuBornDatecheck (BornDate>='1980-01-01')
altertableGrade
addconstraintPK_GradeIDprimarykey(GradeID)
--添加外键约束 altertableStudent addconstraintFK_Grade
foreignkey(GradeID)referencesGrade(GradeID)
--往表中添加字段
altertableStudentaddStunamenvarchar(50)null altertableStudentdropcolumnStudentNo
altertableStudentaltercolumnStudentNonvarcharnotnull
--删除约束 --删除主键
altertableStudent dropconstraintPK_StuNo
altertableStudent dropconstraintDF_Address
altertableStudent dropconstraintUQ_IdCard
altertableStudent
dropconstraintCK_BornDate
altertableStudent
dropconstraintFK_Student_Grade
1.唯一性约束有什么什么作用?与主键约束有何区别?
唯一性约束指定表的一列或多列的组合的值在表中具有唯一性,以防止在列中输入重复的值。主键约束与唯一性约束的区别是:
(1) 在一个表中只能定义一个主键约束,但可定义多个唯一性约束。
(2) 指定为主键约束的列不能取空值,但指定为唯一性约束的列允许取空值。 2.CHECK约束有什么作用?
CHECK 约束用于限制输入到一列或多列的值的范围,保证数据库的数据完整性。
数据查询
1.显示“stu_info”表中的“stu_id”、“name”和“sex”字段。字段名称分别指定为“学号”、“姓名”和“性别”。