加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer创建删除数据库,表,约束

发布时间:2020-12-12 14:57:35 所属栏目:MsSql教程 来源:网络整理
导读:使用SQL语句创建和删除数据库 数据库的组成部分: ??????? 1主数据文件:?????? *.mdf ??????? 2次数据文件:?????? *.ndf ??????? 3日志文件:?????????? *.ldf 创建数据库: T-SQL创建数据库的语法如下: ??????? CREATE DATABASE 数据库名 ??????????? ON

使用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 约束名

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读