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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。