T-SQL之数据库操作

对数据的简介:

        数据库是数据存储的仓库,用户在利用数据库管理系统提供的功能时,首先必须将数据保存到用户的数据库中。数据库中存储的对象主要有:表,索引和视图。(SQL Server支持在一个实例中创建多个数据库,且这些数据库在物理和逻辑上都是相互独立的)。

数据库文件(数据文件和日志文件):

    1)数据文件可以有多个,但是主数据文件只能有一个;
    2)日志文件也可以声明多个;
    3)数据库文件的属性(文件名及其位置,初始大小,增长方式,最大大小) 。


数据库的分类:

在SQL Server中数据库可以分为两类:系统数据库和用户数据库。(以下只简单的介绍一下系统数据库)
- >系统数据库(master,msdb,model,tempdb)
   master:是SQL Server中最重要的数据库,用于记录系统级信息(该数据库损坏则SQL Server将无法正常工作);
   msdb:保存关于调度报警,作业,操作员等信息;
   model:用户数据库模板,当用户创建一个数据库时,会将model数据库的全部内容复制到新建数据库中;
   tempdb:是临时数据库,用于存储用户创建的临时表(查询操作的表即存储其中),用户声明的变量以及用户定义的游标数据等。

T-SQL之数据库操作

T-SQL之数据库创建

创建数据库主要使用CREATE DATABASE语句

1,创建数据库的语法:

1)、创建数据库的语法:
CREATE DATABASE 
[ON [PRIMARY]
(
	[NAME = ,]
	FILENAME = 
	[, SIZE = ]
	[, MAXSIZE = ]
	[, FILEGROWTH = ]
)]
[LOG ON
(
	[NAME = ,]
	FILENAME = 
	[, SIZE = ]
	[, MAXSIZE = ]
	[, FILEGROWTH = ]
)]
[ COLLATE  ]
[ FOR ATTACH [WITH ]| FOR ATTACH_REBUILD_LOG| WITH DB_CHAINING {ON|OFF } | TRUSTWORTHY { ON|OFF }]
[AS SNAPSHOT OF ]
[;]


--语法参数说明
--1、CREATE DATABASE :为创建数据库的主要语法,其中Db_name为数据库的名称;
--2、PRIMARY:标识该mdf文件为主文件(系统默认第一个为主数据文件);
--3、NAME:文件的逻辑名称(在同一个数据库中该值必须唯一);
--4、FILENAME:文件的具体存储路径(必须完整且存在);
--5、SIZE:设置数据文件的初始大小(单位:M、G等);
--6、MAXSIZE:设置数据文件的最大容量(单位:M、G等);
--7、FILEGROWTH:设置数据文件的增长量(可以为具体的存储量亦可以为一个百分数);
--8、COLLATE:可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影;(可以不加默认为系统的排序规则);
--9、FOR ATTACH:将已存在的数据库文件附加到当前服务器上;
--10、WITH DB_CHAINING {ON|OFF }:如果该选项为ON,则跨数据库的所有权链有效;否则全链无效;
--11、TRUSTWORTHY { ON|OFF }:控制访问的安全性(默认情况下为关闭状态);
--12、AS SNAPSHOT OF :指定要创建的数据库为source_database_name指定的源数据库的数据库快照(快照和源数据库必须位于同一实例中)。

2,创建数据库的示例

--创建数据库(CREATE DATABASE语句)


--1)创建系统默认的数据库
CREATE DATABASE Demo
GO
--代码说明:
--该语句为创建数据库的最简单形式,所有的参数都为系统默认(数据库文件存储在默认位置)


--2)创建指定的数据库(单数据库、但事务日志)
CREATE DATABASE Demo
ON PRIMARY                 --PRIMARY指主数据文件(为系统的默认值,可以省略)
(						--在这里设置主数据文件mdf                        
	NAME='Demo',								 --主数据文件的逻辑名称
	FILENAME='F:\sql\Demo.mdf',					 --文件的具体存储路径(路径必须完整存在)
	SIZE=3MB,								     --设置文件的初始大小
	MAXSIZE=100MB,								 --设置文件最大容量      UNLIMITED为不限制大小
  --filegrowth=1MB								 --设置文件的增长量(可以为字节,也可以为百分数)
	FILEGROWTH=10%
)
LOG ON						--创建数据事务(也可以添加多个事务日志)
(						--在这里设置事务日志文件                
	NAME='Demo_log',								--日志的名称
	FILENAME='F:\sql\Demo_log.ldf',				--日志的完整路径(路径必须完整存在)
	SIZE=1MB,									--日志文件的初始大小
	MAXSIZE=UNLIMITED,							--日志文件的最大容量,不设最大限制
	FILEGROWTH=1MB								--增长速量为1MB
)
GO


--3)创建指定的数据库(多数据库、多事务日志)
CREATE DATABASE DemoTest
ON PRIMARY                 --PRIMARY指主数据文件(为系统的默认值,可以省略)
(						--在这里设置主数据文件mdf                        
	NAME='DemoTest1',							 --主数据文件的逻辑名称
	FILENAME='F:\sql\DemoTest1.mdf',			 --文件的具体存储路径(路径必须完整存在)
	SIZE=3MB,								     --设置文件的初始大小
	MAXSIZE=100MB,								 --设置文件最大容量      UNLIMITED为不限制大小
	FILEGROWTH=10%
),										
(						--在这里设置次数据文件mdf                        
	NAME='DemoTest2',							 --数据文件的逻辑名称
	FILENAME='F:\sql\DemoTest2.mdf',			 --文件的具体存储路径(路径必须完整存在)
	SIZE=3MB,								     --设置文件的初始大小
	MAXSIZE=100MB,								 --设置文件最大容量      UNLIMITED为不限制大小
    FILEGROWTH=1MB								 --设置文件的增长量为1MB
)
LOG ON		--创建数据事务
(						--在这里设置事务日志文件                
	NAME='DemoTest1_log',							--日志的名称
	FILENAME='F:\sql\DemoTest1_log.ldf',			--日志的完整路径(路径必须完整存在)
	SIZE=1MB,								    	--日志文件的初始大小
	MAXSIZE=20MB,						        	--日志文件的最大容量,不设最大限制
	FILEGROWTH=1MB								    --增长速量为1MB
),
(						--在这里设置事务日志文件                
	NAME='DemoTest2_log',							--日志的名称
	FILENAME='F:\sql\DemoTest2_log.ldf',			--日志的完整路径(路径必须完整存在)
	SIZE=1MB,									    --日志文件的初始大小
	MAXSIZE=UNLIMITED,							    --日志文件的最大容量,不设最大限制
	FILEGROWTH=10%								    --增长速量为10%
)
GO


T-SQL之数据库修改

修改数据库主要使用ALTER DATABASE语句

    对于数据库的修改操作常使用到的有:修改数据库中文件的某些属性,向数据库中添加文件和移除数据库中的文件,下面分别从这三个方面进行说明和代码展示。

1,修改数据库中文件的属性:

--修改数据库中已经定义好的文件属性
ALTER DATABASE Test5
MODIFY FILE						--修改指定数据库中的数据文件
(
	NAME = "Test5_data",			--文件的逻辑名称(必须项)
	SIZE = 10MB,					--修改文件的大小
	MAXSIZE = 50MB,					--修改文件的最大容量
	FILEGROWTH = 10%				--修改文件的增长量
)


ALTER DATABASE Test5
MODIFY FILE						--修改数据库中的日志文件
(
	NAME =  "Test5_log",		--日志文件的逻辑名称(必须项)
	SIZE = 5MB,					--修改日志文件的初始大小
	MAXSIZE = 10MB,				--修改文件的最大容量
	FILEGROWTH = 10%			--修改文件的增长量
)

2,向已创建的数据中添加文件:

--向已创建的数据中添加文件
ALTER DATABASE Test5
ADD FILE									--向数据库中添加数据文件
(
	NAME = "Test5_data1",					--数据文件的逻辑名称
	FILENAME = "F:\sql\Test5_data1.mdf",	--数据文件的物理位置
	SIZE = 10MB,							--初始容量
	MAXSIZE = 50MB,							--最大容量
	FILEGROWTH = 10%						--增长量
)
ALTER DATABASE Test5
ADD LOG FILE								--向数据库中添加日志文件
(
	NAME = "Test5_log1",					--日志文件的逻辑名称
	FILENAME = "F:\sql\Test5_log1.mdf",		--日志文件的物理存储位置(完整性)
	SIZE = 10MB,							--初始容量
	MAXSIZE = 40MB,							--最大容量
	FILEGROWTH = 10%						--增长量
)

3,移除数据库中的文件

ALTER DATABASE Test5
REMOVE FILE Test5_data1			--移除数据库中的数据文件
GO


ALTER DATABASE Test5
REMOVE FILE Test5_log1			--移除数据库中的日志文件
GO

T-SQL之数据库删除

删除数据常使用DROP DATABASE语句
示例代码:
--删除数据库
DROP DATABASE Test5,Test							--删除数据库(将数据库连根拔起)
GO

另:
DELETE FROM Staff							--主要用来删除数据记录(一条数据会生成一行日志)
GO


TRUNCATE TABLE Test5						--清空表中的数据(只产生很少的日志记录)
GO


你可能感兴趣的:(#,T-SQL)