sql学习总结(1)——数据库技术
1.1创建数据库
1.1.1创建默认数据库
create database db_sqldata (db_sqldata是数据库名)
1.1.2创建指定数据库文件位置的数据库
create database Mydatabase1
on
(
name=Mydatabase1_data,
filename=’e:\mydata\Mydatabase1_data.mdf’,
size=4,
maxsize=10,
filegrowth=10%
)
log on
(
name=Mydatabase1_log,
filename=’e:\mydata\Mydatabase1_log.ldf’,
Size=1,
maxsize=6,
filegrowth=1
)
注意:SQL语句不区分大小写;每一项的分隔符是逗号,并且最后一项没有逗号;on()是数据文件的描述,log on()是事务日志的描述,且都有以下5项参数:
1)name:逻辑文件名
2)filename:数据库文件要保存的路径及文件名
3)size:初始数据库文件的大小
4)maxsize:数据库文件的最大值
5)filegrowth:数据库文件的自动增长率,可以是百分比,也可以是具体的值
1.1.3创建多数据文件、多日志文件的数据库
create database Mydatabase2
on
(
name=Mydatabase21_data,
filename=’e:\mydata\Mydatabase_data21.mdf’,
size=4,
maxsize=10,
filegrowth=10%
),
(
name=Mydatabase22_data,
filename=’e:\mydata\Mydatabase_data22.mdf’,
size=3,
maxsize=10,
filegrowth=1
)
log on
(
name=Mydatabase21_log,
filename=’e:\mydata\Mydatabase21_log.ldf’,
size=1,
maxsize=6,
filegrowth=1
),
(
name=Mydatabase22_log,
filename=’e:\mydata\Mydatabase22_log.ldf’,
size=1,
maxsize=6,
filegrowth=10%
)
注意:两个数据库之间要加逗号,并且各数据库文件的文件名与保存的位置都不能相同
1.1.4创建多个文件组的数据库
create database Mydatabase3
on
primary
(
name=Mydatabase31_data,
filename=’e:\mydata\Mydatabase_data31.mdf’,
size=4,
maxsize=10,
filegrowth=10%
),
filegroup newgroup1
(
name=Mydatabase32_data,
filename=’e:\mydata\Mydatabase_data32.mdf’,
size=3,
maxsize=10,
filegrowth=1
)
log on
(
name=Mydatabase31_log,
filename=’e:\mydata\Mydatabase31_log.ldf’,
size=1,
maxsize=6,
filegrowth=1
)
注意:文件组是用来组织数据库对象的高级方法,在默认情况下,数据库只有一个文件组primary。通过配置具有多个文件组的数据库,可以做到在指定的文件组上创建新的对象(表、视图等)。在这里还要注意普通组的定义方法及位置。它的关键字是filegroup。
1.2修改数据库
1.2.1重命名数据库
exec sp_renamedb Mydatabase2,MydatabaseNew
1.2.2增加数据库的数据文件
alter database Mydatabase1
add file
(
name=Mydatabase1_new,
filename=’e:\mydata\Mydatabase1_new.mdf’,
size=3
)
注意:在添加数据库的数据文件项中,name项是必不可少的。
1.2.3增加数据库的日志文件
alter database Mydatabase1
add log file
(
name=Mydatabase1_new_log,
filename=’e:\mydata\Mydatabase1_new_log.ldf’,
size=3
)
1.2.4修改数据库文件
alter database Mydatabase1
modify file
(
name=Mydatabase1_new_log,
size=3,
maxsize=5
)
注意:用name属性指定要修改哪个数据库文件,可以修改数据库文件的大小、最大值、增长率等属性。
1.2.5删除数据库文件
alter database Mydatabase1
remove file Mydatabase1_new_log
1.3删除数据库
drop database database[,^...n]
注意:不能利用SQL代码删除正在使用的数据库和系统数据库
1.4分离和附加数据库
分离:sp_detach_db [ @dbname= ] ‘database_name’ [ , [@skipchecks =] ‘skipchecks’] [ , [ @keepfulltextindexfile= ] ‘KeepFulltextIndexFile’ ]
附加:sp_attach_db [ @dbname= ] ‘dbname’ , [@filename1= ] ‘filename_n’ [,...16]
返回值为0,成功;1,失败。
1.5备份和还原数据库
1.5.1完全备份数据库
backup database [Mydatabase1] to disk=n’e:\mydata\back1’ with noformat,noinit,name=n’multidatabase-完整数据库备份’,skip,norewind,nounload,stats=10
1.5.2差异备份数据库
backup database [Mydatabase1] to disk=n’e:\mydata\back2’ with differential,noformat,noinit,,name=n’multidatabase-差异数据库备份’,skip,norewind,nounload,stats=10
1.5.2事务日志备份数据库
backup log [Mydatabase1] to disk=n’e:\mydata\back3’ with noformat,noinit,name=n’multidatabase-事务日志备份’,skip,norewind,nounload,stats=10
1.5.3备份数据库的文件和文件组
sp_addumpdevice ‘disk’,’zf_backupfile’,’d:\data\mybackupfile.bak’ --创建备份设备
backup database Mydatabase1
file=’Mydatabase1_data’,
filegroup=’primary’
to zf_backupfile --利用备份设备备份数据库的文件和文件组
1.5.4还原数据库
restore database [Mydatabase1] from disk=n’e:\mydata\back1’ with file=1,nounload,stats=10
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。