数据库的实现(创建库、表、约束;删除表、约束)
SQLServer数据库的基础知识的回顾
1)主数据文件:*.mdf
2)次要数据文件:*.ndf
3)日志文件:*.ldf
每个数据库至少要包含两个文件:一个数据文件和一个日志文件
如何查看SQL Server的帮助==================快捷键F1
一、创建数据库
1.语法
1 create database 数据库名 2 on primary 3 ( 4 <数据文件参数>[,......n] [<文件组参数>] 5 ) 6 log on 7 ( 8 {<日志文件参数> [,......n]} 9 )
数据文件参数如下
1 ( 2 [name=逻辑文件名,] 3 filename=物理文件名 4 [,size=大小] 5 [,maxsize={最大容量|unlimited}] 6 [,filegrowth=增长量] 7 )
文件组的参数
1、语法
1 filegrowth 文件组名 <文件参数> [,......n]
2.例子(前8行进行判断的,如果存在数据库就删除数据库不存在数据库就出现'2131231')
1 --判断如果有这个库进行删除 2 if exists(select * from sysdatabases where name='MySchool') 3 begin 4 drop database MySchool 5 end 6 begin 7 print '2131231' 8 end 9 --创建数据库 10 create database MySchool 11 on primary 12 ( 13 --数据文件的具体描述 14 name='MySchool_data', --主数据文件的逻辑名称+++++++必须写 15 filename='E:\MySchool_data.mdf', --主数据文件的物理名称+++++++必须写 16 size=5mb, --主数据文件的初始大小 17 maxsize=100mb, --主数据文件增长的最大值 18 filegrowth=15% --主数据文件的增长率 19 ) 20 log on 21 ( 22 --日志文件的具体描述,各参数含义同上 23 name='MySchool_log', 24 filename='E:\MySchool_log.ldf', 25 size=2mb, 26 filegrowth=1mb 27 ) 28 go
二、创建表
1、语法
1 create table 表名 2 ( 3 列1 数据类型 列的特征 4 ...... 5 )
2、例子(5和6行判断是否存在Student这张表)
1 --创建表 2 use MySchool --将当前数据库设置为MySchool,以便在MySchool里创建表 3 go 4 --判断 5 if exists (select * from sysobjects where name='Student') 6 drop table Student 7 8 create table Student ---创建Student表 9 ( 10 StudentNo int identity primary key not null, --学号 自增 主键,非空 11 loginpwd nvarchar(20) not null, 12 StudentName nvarchar(20) not null, 13 Sex bit default'女' not null, --性别,取值0,1 14 GradeId int not null, 15 Phone nvarchar(50) null, 16 Address nvarchar(100) null, 17 BornDate datetime not null, 18 Email nvarchar(20) null, 19 IdentityCard varchar(18) not null 20 ) 21 go
三、删除表
1、语法
1 drop table 表名
2、例子
1 drop table Student
3、重点
当创建表的时候已经创建主键和自增列的时候,我们如何能够删除已经存在的主键?
1 --查看主键,之前没有主键的名字 2 select * from sysobjects where xtype='PK' 3 --删除主键 4 alter table [Student] drop 查找出约束(主键)的名字
四、添加约束(例子)
语法:
1 alter table 表名
2 add constraint 约束名 约束类型 具体的约束说明
例子:
1、添加默认约束(默认'地址不详')
1 alter table Student 2 add constraint df_address default('地址不详') for address
2、添加检查约束(要求出生在1996年10月26日)
1 alter table Student 2 add constraint ck_BornDate check (BornDate >='1996-10-26')
3、添加唯一约束(身份证全世界只有一个)
1 alter table Student
2 add constraint uq_IdentityCard unique (IdentityCard)
4、添加主键约束
1 alter table Student
2 add constraint pk_StudentNo primary key(StudentNo)
5、添加外键约束(主表 Student 和从表 REsult建立关系,关联列StudentNo)
1 alter table Result 2 add constraint fk_StudentNo 3 foreign key(StudentNo) references Student (StudentNo)
五、回顾T-SQL的语句的语法
1、添加数据
1 Insert into 表名(列名,......)Values(值1,......)
2、修改数据
1 update 表名 set 列1=值1,列2=值2,......where(条件)
3、删除数据
1 delete from 表名 where(条件)
4、查询语句
1 select 列1,列2,.....from 表名 where(条件) order by 列名
理解的小例子
1 select StudentName,StudentNo from Student where BornDate>='1996-10-26' order by StudentNo
六、创建文件夹
1 exec sp_configure 'show advanced options',1 2 go 3 reconfigure 4 go 5 exec sp_configure 'xp_cmdshell',1 6 go 7 reconfigure 8 go 9 exec xp_cmdshell 'mkdir E:\新建文件'