数据库的实现(创建库、表、约束;删除表、约束)

  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:\新建文件'

 

posted @ 2016-01-07 15:48  葉子。  阅读(2430)  评论(0编辑  收藏  举报