操作数据库
我将会从交互方式和T-SQL两种方式进行总结书写
创建数据库
1.创建一个简单的数据库壳
(1)T-SQL
CREATE DATABASE database_name --创建一个新的数据库
例如创建一个名称为E_Market1的数据库:
- 单击‘新建查询’,输入下图中的代码,先单击‘分析’,再单击**‘执行**’,右键单击‘数据库’,单击‘刷新’,就可以在**‘数据库**’下看到E_Market1数据库。新建数据库完成。
在创建好数据库后,记得刷新数据库才可以看到新创建的数据库
(2)SSMS
先连接好数据库:
例如创建一个名称为E_Market的数据库
-
右键单击数据库,点击"新建数据库"
-
输入数据库名称,日志文件的自动增长设置为不自动增长,修改存储位置,最后点击确定,右键单击对象资源管理器,选择‘刷新’,即可在数据库下看到新建的数据库。新建数据库完成
-
右键单击E_Market数据库,选择‘属性’,再对弹出的窗口单击‘选项’,在右边的表格中找到‘限制访问’,设置数据库的访问限制
2.创建一个数据库,顺便自定义数据文件,日志文件的位置
通过文件组创建数据库:
(文件组就是存放多个文件的文件组,每个数据库可以存放多个文件组,其中只有一个是主文件组,其他的都是用户自定义的文件组,
通过自定义的文件组可以指定在文件组中存放的数据文件。如果没有自定义文件组,数据文件就会自动划分到主文件组中)
*日志文件的数量不一定一定要与数据文件的数量一致,可以将多个数据文件的日志信息存放到一个日志文件中。
CREATE DATABASE charpter2
ON PRIMARY --数据文件
(
NAME =charpter2_data, --数据文件额逻辑名称
FILENAME='D:\SQLproject\charpter2_data.mdf', --数据文件存放的位置
SIZE=3MB, --数据文件大小
MAXSIZE=20MB, --数据文件的最大值
FILEGROWTH=10% --数据文件的增长量
)
LOG ON --日志文件
(
NAME=chapter2_log, --日志文件的名称
FILENAME='D:\SQLproject\charpter2_log', --日志文件的存储位置
SIZE=512KB, --日志文件的大小
MAXSIZE=10MB, --日志文件的最大值
FILEGROWTH=10% --日志文件的增长量
)
3.创建由多个文件组成的数据库(注意用逗号隔开)
CREATE DATABASE charpter4
ON PRIMARY
(
NAME =charpter3_data, --数据文件额逻辑名称
FILENAME='D:\SQLproject\charpter4_data.mdf', --数据文件存放的位置
SIZE=3MB, --数据文件大小
MAXSIZE=20MB, --数据文件的最大值
FILEGROWTH=10% --数据文件的增长量
),
(
NAME=charpter4_1_data,
FILENAME="D:\SQLproject\charpter4_data.ndf", --一个数据库只可以有一个主数据文件(.mdf),其他的都是次数据文件(.ndf)
SIZE=3MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
LOG ON --日志文件
(
NAME=chapter4_log, --日志文件的名称
FILENAME='D:\SQLproject\charpter4_log', --日志文件的存储位置
SIZE=512KB, --日志文件的大小
MAXSIZE=10MB, --日志文件的最大值
FILEGROWTH=10% --日志文件的增长量
),
(
NAME=charpter4_log,
FILENAME="D:\SQLproject\charpter4_log.ldf",
SIZE=512KB,
MAXSIZE=10MB,
FILEGROWTH=10%
)
3…在数据库中创建的对象保存在自定义的文件组中:可以在定义文件组时加上:DEFAULT关键字,这样就会将该文件组设置为默认的文件组。
FILEGROUP charpter4_group DEFAULT
(
……
)
查看数据库
1.查看全部数据库:
sp_helpdb
2.查看某个数据库的数据文件:
sp_helpdb charpter4 --在sp_helpdb 后面加上数据库名称
3.查看某个数据库的空间的使用情况:
USE charpter4 --指定要查询的数据库
EXEC sp_spaceused; --执行存储过程
(2)SSMS:
- 右键单击想要查看的数据库,选择‘属性’,对应弹出的窗口即可查看和修改数据库信息
修改数据库
1.数据库重命名:
(1.使用ALTER DATABASE修改)
ALTER DATABASE charpter4
MODIFY NAME=charpter4_new;
(2.使用存储过程sp_renamedb修改,与ALTER DATABASE效果一样,只是使用sp_renamedb存储过程会简单一点)
sp_renamedb charpter4,charpter4_new;--前者为原始名称,后者为新名称
2.更改数据文件的大小:
ALTER DATABASE charpter4
MODIFY FILE
(
NAME=charpter4_1_data, --该项是必须写的
NEWNAME=new_charpter4_data, --如果名称不需要修改,则这行可以不要
--下面的三行,要是在原来的基础上不需要改变,则可以不用写
SIZE=10MB,
MAXSIZE=100MB,
FILEGROWTH=10%
)
ALTER DATABASE charpter4
MODIFY FILE
(--只是更改size,但是还是需要些=写name
NAME=new_charpter4_data,
SIZE=20MB
)
3.添加数据库中的文件:
可以在数据库中添加数据文件或者是日志文件、文件组。但是在添加之前,先要通过存储过程sp_helpdb查看现有的文件信息,避免添加重名的文件。
(1)添加数据文件
ALTER DATABASE charpter4
ADD FILE --添加数据文件
(
NAME=logic_file,
FILENAME="D:\SQLproject\logic_file.ndf",
SIZE=3MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
(2)添加日志文件
ALTER DATABASE charpter4
ADD LOG FILE --添加日志文件
(
NAME=logic_file_log,
FILENAME="D:\SQLproject\logic_file.log",
SIZE=3MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
(3)添加文件组
ALTER DATABASE charpter4
ADD FILEGROUP logic_filegroup --添加文件组
(4)添加文件到指定的文件组中
ALTER DATABASE charpter4
ADD FILE
(
NAME = logic_filegroup_data,
FILENAME="D:\SQLproject\logic_filegroup_data.ndf",
SIZE=3MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
TO FILEGROUP logic_filegroup --将数据文件 logic_filegroup_data添加到logic_filegroup文件组中(不然就会被自动添加到默认文件组中)
4.删除数据库中的文件:
--不能从数据库中删除主数据文件或主日志文件
ALTER DATABASE charpter4
REMOVE FILE logic_filegroup_data; --删除数据文件或日志文件
--在删除文件组之前需要先删除完文件组里的文件
ALTER DATABASE charpter4
REMOVE FILEGROUP charpter4_group; --删除文件组
删除数据库
DROP DATABASE charpter4;--直接删除数据库
--在删除数据库之前,先要指定当前连接的数据库不是要删除的数据时,才能成功删除
USE master --连接一个其他的数据库
DROP DATABASE charpter4;