1.数据库
1.1数据库的创建
在创建数据库之前,我先普及一下数据库相关的知识
数据库相关属性:
1)逻辑名称:数据文件和日志文件名称;
2)文件类型:数据文件及日志文件 ;
3)文件组:各个数据文件所属的文件组名称;
4)初始大小:文件的最原始大小;
5)自动增长:文件按指定的大小增长,也可限制到最大容量;
6)路径:存放文件的物理目录;
7)文件名:显示数据文件和日志文件的物理名称;默认数据库属性:
1)主数据文件为xx.mdf,日志文件为xx_log.ldf;
2)只有一个文件组Primary;
3)主数据文件初始大小为5MB(sql server及低版本初始大小基本都为3MB),增量为1MB;
4)日志文件初始大小1MB,增量为10%;
5)5) 主数据文件和日志文件都存放在C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA目录下,文件分别为xx.mdf 和xx_log.ldf 。
创建数据库命令如下:
create database 数据库名[on 子句][log on 子句]
在这里举个创建数据库的例子:
1、要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。
create database studenton (name = stu, filename='D:\stu_data.mdf',size = 3mb,maxsize = 500mb,filegrowth = 10%)log on(name = stu_log,filename = 'D:\stu_log.ldf',size=3mb,maxsize = unlimited,filegrowth = 1mb)
1.2 数据库的修改
修改数据库的命令如下:
Alter database database_name{add file <filespec>[,…n] [to filegroup filegroupname]|add log file <filespec>[,…n]|remove file logical_file_name [with delete]|modify file <filespec>}
增加数据文件
例如:2、在例1数据库中增加数据文件db2,初始大小为10MB,最大大小为50 MB,按10%增长;
alter database student add file (name = db2,filename = 'D:\db2.ndf',size = 10mb,maxsize = 50mb,filegrowth = 10%)
增加日志文件
例3:在例1数据库student中添加日志文件,保存在D盘中,初始大小为1MB,最大无限制,增长方式按照1MB增长;
alter database studentadd log file(name = stu_log2,filename = 'D:\stu_log2.ldf',size = 1mb,maxsize = unlimited,filegrowth = 1mb)
修改数据库
例4:修改数据库student主数据文件的大小,将主数据文件的初始大小修改为10Mb,增长方式为20%;
alter database studentmodify file //修改日志文件是 modify log file(name = stu,size = 10mb,filegrowth =20%)
删除数据文件及日志文件
例5:删除数据库student辅助数据文件和第二个日志文件;
alter database studentremove file stu2go //go语句是让多条语句分别执行alter database studentremove file stu_log2
1.3 数据库的删除
数据库删除命令:
drop database 数据库名
2.模式
2.1模式的创建
要想使用T-SQl 语句创建模式,你必须要指定用户,具体的用法如下:
create schema <模式名> authorization <用户名>
这里需要强调一下,此处的用户名,可以自己创建,但是创建时要有登录名,一般默认是dbo,在这里我就把这两个合在一起简单创建一下:
create login <登录名> with password = '登录密码';use 数据库名;create user <用户名> for login wang with default_schema = <默认构架名>;
2.2模式的删除
在SQL中,删除模式语句如下:
drop schema <模式名> <cascade | restrict>;
其中cascade和restrict两个必选其一。选择了cascade(级联),表示在删除模式的同时把该模式中所有的数据库对象全部删除(如:在该模式创建的表);选择了restrict(限制),表示如果该模式中已经定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。只有当该模式中没有任何下属对象时才能执行drop schema语句
举个例子:
drop schema test cascade;//该语句删除了模式test,同时,该模式中已经定义的表,视图也被删除了