首先大家要知道数据库是由哪三个部分组成的.
解析:
01.数据库文件:*.mdf
02.次要数据文件:*.ndf
03.日志文件:*.ldf
每个数据库至少要包含两个文件:一个数据文件和一个日志文件.数据文件中包含了数据库的数据和对象,如表,视图和索引等;日志文件中包含了用于恢复数据库所需的信息.创建数据库时,次要数据库文件可选.一个数据库可以有多个数据库文件和多个日志文件.
一.使用SQL语句创建数据库
以Myschool数据库为例:
create database Myschool
on primary --默认属于primary主文件组,可省略
(
-----------数据文件的具体描述---------
--主数据文件的逻辑名称
name='Myschool_data',
--主数据文件的物理名称
filename='E:\Myschool.mdf',
--主数据文件的初始大小
size=5,
--主数据文件增长的最大值
maxsize=100,
--主数据文件的增长率
filegrowth=15%
)
Log on
(
---------日志文件的具体描述---------
--日志文件的逻辑名称
name='Myschool_log',
--日志文件的物理名称
filename='E:\Myschool.ldf',
--日志文件的初始大小
size=2,
--日志文件的增长率
filegrowth=1
)
二.使用SQL删除数据库
--删除数据库名称为Myschool
drop database Myschool
三.检测要创建的数据库是否存在
use master --设置当前数据库为master ,以便访问sysdatabase表
if exists(select * from sysdatabases where name='Myschool')
--如果存在则删除Myschool数据库
drop database Myschool
--重新创建Myschool数据库
create database Myschool
on primary --默认属于primary主文件组,可省略
(
-----------数据文件的具体描述---------
--主数据文件的逻辑名称
name='Myschool_data',
--主数据文件的物理名称
filename='E:\Myschool.mdf',
--主数据文件的初始大小
size=5mb,
--主数据文件增长的最大值
maxsize=100mb,
--主数据文件的增长率
filegrowth=15%
)
Log on
(
---------日志文件的具体描述---------
--日志文件的逻辑名称
name='Myschool_log',
--日志文件的物理名称
filename='E:\Myschool.ldf',
--日志文件的初始大小
size=2mb,
--日志文件的增长率
filegrowth=1mb
)
四.如何在指定的路径下创建文件夹.
xp_cmdshell时SQL server的扩展储存过程,他以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行的方式返回任何输入.
在SQL server Management Studio 中,如果希望在操作系统的指定路径下创建文件夹,可以使用下面的语句:
EXEC xp_cmdshell 'mkdir E:\project'
其中,字符串mkdir E:\project 是DOS命令用于在E盘下创建文件夹.
注意.在使用xp_cmdshell之前,需要执行sp_configure以启用xp_cmdshell
EXEX sp_configure 'show advanced options',1
go
reconfigure
co
EXEC sp_configure 'xp_cmdshell',1
go
reconfigure
go
五.使用SQL语句创建表
create table 表名( 列1 数据类型 列的特征, 列2 数据类型 列的特征)
列的特征:包括该列是否为空,是否是标识列,是否有默认值,是否是主键等.
eg:
--同创建数据库一样,如果当前数据库中已存在Student表,则再次创建时系统会提示错误,所以我们需要先检测当前数据库
--中是否存在该表,如果存在该表,则删除,然后在创建.
use myschool
if exists(select * from sysobjects where name='student')
drop table student--删除表student
------------创建表Myschool中的学生表--------
create table student
(
studentNO int not null,--学号,非空
studentname nvarchar(20) not null,--学生姓名,非空
Sex bit not null ,--性别,非空,取值0或1
gradeid int not null,--年级编号
phone nvarchar(50) null, --联系电话,允许为空
address nvarchar(200) null, --住址,允许为空
bornDate datetime null,--出生日期,允许为空
Email nvarchar(50) null,--邮箱,允许为空
Cid varchar(18) not null --身份证,非空
)
六.使用sql语句删除表
drop table student
七.使用sql语句创建和删除约束
01.实体完整性:唯一确定表中一行记录.
02.域完整性:表中特定列数据的有效性,以确保不会输入无效的数值.
03.引用完整性:插入或删除记录时,维护表之间定义的关系.
04.自定义完整性:为了确保数据库的数据完整性.
常用的约束类型:
01.主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空.
02.非空约束:(not null):要求列不能存在空值.
03.检唯一约束:(Unique Constraint):要求该列的值必须唯一,允许为空,但只能出现一个空值.
04.默认约束:(Dafault Constraint):某列的默认值.
05.外键约束:(Foregin Key Constraint):用于在两表之间建立关系,需要指定引用主表的哪一列.
添加约束的语法:
alter table 表名
add Constraint 约束名 约束类型 具体的约束说明
--把studentno学号列设置为主键
alter table student
add constraint PK_studentno primary Key (studentno)
--把身份证号列cid添加唯一约束
alter table student
add constraint UQ_cid unique(cid)
--把地址列添加默认约束
alter table student
add constraint DF_address Default('地址不详') for address
--为出生日期列添加检查约束
alter table student
add constraint CK_bornDate Check(bornDate>='1980-01-01')
--添加外键约束(主表student和从表result建立关系,关联列为StudentNo)
alter table result
add constraint FK_studentno foreign key (studentno) references student(studentno)
--添加grade表中的主键
alter table grade
add constraint pk_gradeid primary key (gradeid)
--添加外键约束(主表grade和从表student建立关系,关联列为gradeid)
alter table grade
add constraint FK_gradeid foreign key (gradeid) references grade(gradeid)
删除约束:
语法:
alter table 表名
drop Constraint 约束名
eg:删除student表中地址默认约束
alter table student
drop constraint DF_adress
八.sqlserver 文档
如何查看 sql server 帮助:
把光标放置在需要查找某个语法的关键字上方,饭F1键,就会启动Sql server联机丛书,并查找出有关关键字的帮助资料.