数据库的实现(创建库、表、约束;删除表、约束)
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:\新建文件'