`
weiyinchao88
  • 浏览: 1184533 次
文章分类
社区版块
存档分类
最新评论

学习笔记6(SqlServer创建删除数据库,表,约束)

 
阅读更多

使用SQL语句创建和删除数据库

数据库的组成部分:

1>主数据文件: *.mdf

2>次数据文件: *.ndf

3>日志文件: *.ldf

创建数据库:

T-SQL创建数据库的语法如下:

CREATE DATABASE 数据库名

ON [PRIMARY]

(

<数据文件参数> [,……n] [<文件组参数>]

)

[LOG ON]

(

{<日志文件参数> [,……n] }

)

文件具体参数语法如下:

(

[NAME=逻辑文件名,]

FILENAME=物理文件名

[,SIZE=大小]

[,MAXSIZE={最大容量|UNLIMITED}]

[,FILEGROWTH=增长值]

)[,……n]

文件组参数的语法如下:

FILEGROUP 文件组名 <文件参数> [,……n]

其中,“[ ]”表示可选部分,“{ }”表示必需的部分。各参数的含义说明如下:

》数据库名:数据库的名称,最长为128个字符

》PRIMARY:该选项是一个关键字,指定主文件组中的文件

》LOG ON:指明事务日志文件的明确定义

》NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符

》FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应

》SIZE:指定数据库的初始容量大小

》MAXSIZE:指定操作系统文件可以增长到的最大尺寸

》FILEGROWTH:指定文件每次增加容量的大小,当指定的数据为0时,表示文件不增长

删除数据库:

DROP DATABASE 数据库名

接下来的问题是如何检测是否存在该数据库

EXISTS(查询语句)可以检测某个查询是否存在,如果查询语句返回的记录结果不为空,则表示存在;否则表示不存在

IF EXISTS (SELECT * FROM SYSDATABASES WHERE NAME='KEYMO')

DROP DATABASE KEYMO

CREATE DATABASE KEYMO

(

……

)

这段语句表示在系统表中查询是否有KEYMO库存在,如果不存在,则创建KEYMO数据库,如果存在,则删除该库再创建KEYMO数据库

使用SQL语句创建和删除数据表

创建表

创建表的步骤:

1>确定表中有哪些列

2>确定每列的数据类型

3>给表添加各种约束

4>创建各表之间的关系

创建表的语法如下:

CREATE TABLE 表名

(

字段1 数据类型 列的特征

字段2数据类型 列的特征

……

)

删除表

DROP TABLE 表名

使用SQL语句创建和删除约束

约束的目的是确保表中数据的完整性,常用的约束类型如下:

》主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空

》唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值

》检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束

》默认约束(Default Constraint):某列的默认值,比如学员信息表,男生多的话就可将默认设为“男”

》外键约束(Foreign Key Constraint):用于在两表之间建立关系,需要指定引用主键的那一列

添加约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名 约束类型 具体的约束说明

示例:

——添加主键约束(将stuNo作为主键)

ALTER TABLE STUINFO

ADD CONSTRAINT PK_STUNO PRIMARY KEY (stuNo)

——添加唯一约束(身份证号唯一)

ALTER TABLE STUINFO

ADD CONSTRAINT UQ_STUID UNIQUE (stuId)

——添加默认约束(如果地址不填,默认为“地址不详”)

ALTER TABLE STUINFO

ADD CONSTRAINT DF_STUADDRESS DEFAULT ('地址不详') FOR STUADDRESS

——添加检查约束,要求年龄只能在15~40岁之间

ALTER TABLE STUINFO

ADD CONSTRAINT CK_STUAGE CHECK (STUAGE BETWEEN 15 AND 40)

——添加外键约束(主表STUINFO和从表STUMARKS建立关系,关联字段为stuNo)

ALTER TABLE STUINFO

ADD CONSTRAINT FK_STUNO FOREIGN KEY (stuNo) REFERENCES STUINFO (stuNo)

删除约束

ALTER TABLE 表名

DROP CONSTRAINT 约束名

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics