数据库管理-基本命令
数据库管理—基本命令
文件类型:
【1】主数据文件:数据库的启动信息,只有一个且必须创建的文件,扩展名是.mdf(包含数据库头部信息)
【2】次要(辅助)数据文件:存储非结构化的数据,不能单独使用,可以创建多个,扩展名是.ndf(是主数据库文件的扩展文件,没有数据库头部信息:只有与主数据库的连接信息。)
【3】事务日志文件:数据库所有事务日志信息,至少有一个且必须创建,扩展名是.ldf(存储数据库的事务日志,一个数据库可以创建多个日志文件)
【4】文件流数据:将文件以目录的方式独立保存,在数据库中添加纪录,访问速度快。
“exec函数族”提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后原调用进程的内容除了进程号外,其他全部被新的进程替换了。另外,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执行的脚本文件。 (所以有的时候exec可省~)
——————————————————————————————————————————————————————————————————————————————
七大语句
create:创建
alter:修改库/表的结构 alter:改变,更改
drop:删除库 drop:终止,下降
insert:插入
update:更新/修改表中的数据
delete:删除语句
select:查询 select:选择,选取
执行:F5
检查语句:ctrl+F5
选中光标所在行:shift+home
选中光标所在行的上一行:shift+↑
—————————————————————————————————————————————————————
-本数据库管理操作命令中:数据库名字为aaa
【1】exec sp_databases:查看当前“所有数据库”已使用多少空间,单位kb 【2】exec sp_helpdb aaa:查看“指定数据库”用量的详细信息(默认全部)
(1)、创建数据库命令
create database aaa(数据库名-不能纯数字) //创建数据库(数据库不能以数字开头呦 · )
on primary primary:主要的 //开启主文件
(
name =‘逻辑名称’, //指定文件别名(随便写,但是不要用数字呦~,否则删除时就删除不了了)
filename =‘路径\物理文件名.mdf’, //库文件保存路径和物理名称 (物理存储路径\文件名,文件名随便写~)
size =起始容量mb, //文件起始容量 (注意:数据库文件起始容量最小为8mb)
maxsize =最大容量mb, //文件最大容量
filegrowth =增长率mb growth:增长,增加 //文件增长率 (数据库可用空间增长率)
)
log on //建立数据库日志文件(不能单独执行,必须一起执行!)
(
name= ‘日志文件逻辑名’,
filename = ‘路径\物理文件名.ldf’ ,
size =起始容量mb,
maxsize =最大容量mb,
filegrowth =增长率mb //10mb或 20%——增长率的写法!!!
)
(2)、删除数据库命令
含义:
删除数据库,只能删除用户数据库,系统数据库无法删除呦~~~
【一】删除数据库
drop database aaa(数据库名)
【二】删除辅助库文件
alter database aaa
remove file 逻辑文件名 ———————————-只能删除未连接的,没有数据的辅助文件。(且→→不能从数据库中删除主数据文件或主日志文件。)
(3)、扩展数据库命令
使用alter database语句修改数据库 【 方法一、扩展数据库容量 | 方法二、扩展数据库 】
方法一:扩充数据库的初始容量和最大容量,任何文件都可以扩充 ——-但是一次只能扩展一个“数据文件”或“日志文件”(不能一起扩充)
alter database aaa
modify file //modify:调整、稍作修改 alter:改变,更改
(
name=‘逻辑名称’, //需要与“之前的”逻辑名称相对应!
size=‘扩展后的空间’, //指定的数值不能与原有数值相同,或比原有数值小(容量只能比原有空间大)
maxsize=‘扩展后的最大空间容量’
)
方法二:将两个数据文件和一个事务日志文件添加到aaa数据库中
———————–添加辅助数据库文件:
alter database aaa
add file
(name=‘325_ndf’’,(逻辑名称) //.ndf 扩展数据库文件(辅助数据库文件! 名字可以随便写,但不用数字呦~否则删除就删除不了了)
filename=‘原来库的路径\325.ndf’, 【路径\物理文件名,但要注意这里不能和原来的数据库文件名字“重复”(包括逻辑名称)】
size=10mb, (起始容量)
maxsize=50mb,
filegrowth=10%)
————————添加日志文件:
alter database 数据库名
add log file
(name=‘325_ldf’, //事务日志文件:扩展名是.ldf(名字同上原理↑↑↑)
filename=‘原来库的路径\325log.ldf’,
size=10mb,
maxsize=50mb, exec sp_helpdb 数据库名:查看指定数据库用量的详细信息(默认全部)
filegrowth=10%) //这样的写法10%查看的时候 与 10mb的growth显示结果不同 ↑↑↑
(4)、收缩数据库命令
收缩文件:
use [数据库] //连接数据库(有的时候可省~)
dbcc shrinkfile (N’逻辑名’,收缩和剩余空间【默认mb】) shrink:缩小,减少
go //执行(可省)
例:
use aaa
dbcc shrinkfile (N’haha’,10) 注意:10代表的是剩余多少M
go
收缩数据库:
use [数据库]
dbcc shrinkdatabase (N’数据库名’,收缩比例%)
go
例:
use aaa
dbcc shrinkdatabase (‘aaa’,10) 注意:10代表的是百分比
go
(5)、分离数据库命令
含义:
【将数据库从数据库管理器中移除,管理器不再管理和连接此数据库】用户可以在系统中将数据库文件复制,备份或移动等操作~~~管理器不会停止后台服务,不会影响其他数据库的使用
注意:不能分离当前连接的数据库!
use [master] //可以省略,但最好不要省~ master:主要的 execute 实行;实施 detach:分离,拆开
exec master.dbo.sp_detach_db @dbname =N’数据库名’ —————–没有分离前“数据库的物理文件”不能够复制等操作。分离后数据库文件就可以复制,移动等操作了!
//这里的exec不能省略,但是master.dbo.可以省略
简单理解————-没有分离前“复制”数据库物理文件的话,会提示“文件正在使用”无法复制~~~~~~分离后,就相当于删除(但是保留原数据库和数据库文件)
(6)、添加数据库命令(附加数据库)
含义:
附加数据库:在管理器中注册数据库,使管理器可以连接管理数据库。 简单理解——将已有的数据库文件添加到数据库管理器中。
create database 库名 //这里的数据库名自己随便起
on
(filename=‘路径\物理文件名.mdf’), //这里一定要对应“已有的”数据库物理文件【 且数据库文件没有被使用→→→(就是“分离完后”的数据库中的文件”)】
(filename=‘路径\物理文件名.ldf’)
for attach attach:附加,装上,把…固定 {for attach :用于连接} for:因为,由于
——————————————————————————————————————————————————————————————————————————————
数据库命令:
(1)创建: //前提你要在E盘下创建huaizhe这个目录呦~~~
create database huaixin
on primary (
name=‘haha’,
filename=‘E:\huaizhe\325.mdf’,
size=10mb,
maxsize=100mb,
filegrowth=1mb
)
log on
(name=‘xixi’,
filename=‘E:\huaizhe\325.ldf’,
size=10mb,
maxsize=100mb,
filegrowth=2mb)
(2)扩展:
alter database huaixin
add file
(name=‘hehe’,
filename=‘E:\huaizhe\326.mdf’,
size=10mb,
maxsize=100mb)
(3)收缩:
use huaixin
dbcc shrinkfile (‘haha’,8)
(4)分离:
use [master]
exec sp_detach_db @dbname=‘huaixin’
(5)附加:
create database ha on
(filename=‘E:\huaizhe\325.mdf’),
(filename=‘E:\huaizhe\325.ldf’)
for attach
(6)删除:
alter database huaixin
remove file hehe
或
drop database huaixin
sp_databases //查看所有数据库使用空间大小 ———remarks:评述,谈论
sp_helpdb ha //查看“ha数据库”用量的详细信息
其中内容:
{ name | db_size | owner | dbid | created | status | compatibility_level
{数据库名 | 数据库当前容量大小 | 所有权人 | 数据库ID | 创建时间 | 状态 | 兼容性等级
primary:主要的 null:空的 growth:增长,生长 usage:用法,惯例,利用率 data:数据 log:日志 only:仅有的,唯一的