你的位置:首页 > 数据库

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


  SQLServer数据库的基础知识的回顾

  1)主数据文件:*.mdf

      2)次要数据文件:*.ndf

  3)日志文件:*.ldf

  每个数据库至少要包含两个文件:一个数据文件和一个日志文件

      如何查看SQL Server的帮助==================快捷键F1

一、创建数据库

1.语法

1 create database 数据库名2  on primary3  (4   <数据文件参数>[,......n] [<文件组参数>]5  )6 log on7  (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 MySchool11 on primary12 (13   --数据文件的具体描述14   name='MySchool_data',    --主数据文件的逻辑名称+++++++必须写15   filename='E:\MySchool_data.mdf', --主数据文件的物理名称+++++++必须写16   size=5mb,            --主数据文件的初始大小17   maxsize=100mb,          --主数据文件增长的最大值18   filegrowth=15%          --主数据文件的增长率19 )20 log on21 (22 --日志文件的具体描述,各参数含义同上23 name='MySchool_log',24 filename='E:\MySchool_log.ldf',25 size=2mb,26 filegrowth=1mb27 )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,114 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 null20  )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 Student2 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_StudentNo3   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