第三章:关系数据库标准语言sQL 创建和管理数据库、数据表
第三章:关系数据库标准语言SQL 创建和管理数据库、数据表 1
创建数据库语法格式 数据库名 CREATE dATABASE database name LON 指定数据库的数据文件和文件组 指定主文件 PRIMARY][[,m指定数据库文件的属性 [,f,m定义文件组的属性 [LOG ON [n])] 指定事务日志文件的属性
2 创建数据库语法格式 CREATE DATABASE database_name [ ON [ PRIMARY ] [ [ ,...n ] [ , [ ,...n ] ] [ LOG ON { [ ,...n ] } ] ] [ COLLATE collation_name ] [ WITH ] [ FOR { ATTACH | ATTACH_REBUILD_LOG }] ] [;] 数据库名 指定数据库的数据文件和文件组 指定主文件 指定数据库文件的属性 定义文件组的属性 指定事务日志文件的属性
创建数据库语法格式 ∷= NAME=logical file name 逻辑文件名 路径和文件名 FILENAME=(os file name'lfilestream path'j 受限制,仅[,SIZE=size[KB|MB|GB|TB] 数据文件初始容量大小 受磁盘可用 空间限制 [, MAXSIZE max size [KB MB GB TB 指定文件的最大大小 UNLIMITED] [, FILEGROWTH- growth increment[ KB MB GB TB 文件每次的增量,有空 1%]] 间值和百分比两种格式 [,,n]} 返回
3 创建数据库语法格式 ::= {( NAME = logical_file_name , FILENAME = { 'os_file_name' | 'filestream_path' } [ , SIZE = size [ KB | MB | GB | TB ] ] [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ] ) [ ,...n ]} 逻辑文件名 路径和文件名 数据文件初始容量大小 指定文件的最大大小 文件大小不 受限制,仅 受磁盘可用 空间限制 文件每次的增量,有空 间值和百分比两种格式 返回
创建教据库语法格式 [ .nI 指定属于该文件组的文件,文件组中 各文件的描述和数据文件描述相
4 ::= { FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ] [ ,...n ] } 创建数据库语法格式 文件组的名称 指定属于该文件组的文件,文件组中 各文件的描述和数据文件描述相同
例1:要求创建一个学生课程数据库(名称为 student)。 Create database student 例2:要求在本地磁盘D的data文件夹中创建一个学生课程数据库(名称为 student1),只有一个数据文件和日志文件,文件名称分别为stu和 stu log,初 始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志 文件大小不受限制。 CREATE DATABASE student 1 ON NAME stu FILENAME=D: data\stu. mdf SIZE= 3MB MAXSIZE 500MB FILEGROWTH=10%) LOG ON NAME stu log, FILENAME ='D data stu log. ldf, SIZE=3MB,MAXSIZE unlimited, FIlegroWTh= 1MB
5 例1:要求创建一个学生-课程数据库(名称为student)。 Create database student 例2:要求在本地磁盘D的data文件夹中创建一个学生-课程数据库(名称为 student1),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,初 始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志 文件大小不受限制。 CREATE DATABASE student1 ON ( NAME = stu, FILENAME = ‘D:\data\stu.mdf' , SIZE = 3MB , MAXSIZE = 500MB , FILEGROWTH = 10%) LOG ON ( NAME = stu_log, FILENAME = ‘D:\data\stu_log.ldf’ , SIZE = 3MB , MAXSIZE = unlimited,FILEGROWTH = 1MB )
练习 、创建一个名为TEST1的数据库,其初始大小为5MB,最大大小为50MB,允许 数据库自动增长,增长方式是按10%比例增长。日志文件初始为2MB,最大可 增长到5MB,按1MB增长。数据文件和日志文件的存放位置为 SQL Server的数据 库目录 create database test1 name= testl data filename='C:\Program Files\ Microsoft SQL Server\MSSQL10. SQL2008\MSSQL\DATA\testl. mdf,, size=5mb maxsize=50mb, filegrowth=10% log on name=' testl log filename='C:\Program FilesMicrosoft SQL Server\MSSQI10. SQL2008\MSSQL\DATA\test1. ldf,, size=2mb, maxsize=5mb filegrowth=lmb 6
6 练习 1、创建一个名为TEST1的数据库,其初始大小为5MB,最大大小为50MB,允许 数据库自动增长,增长方式是按10%比例增长。日志文件初始为2MB,最大可 增长到5MB,按1MB增长。数据文件和日志文件的存放位置为SQL Server的数据 库目录。 create database test1 on ( name='test1_data', filename='C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\test1.mdf', size=5mb, maxsize=50mb, filegrowth=10% ) log on ( name='test1_log', filename='C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\test1.ldf', size=2mb, maxsize=5mb, filegrowth=1mb );
create database test2 练习 2、创建一个名为TEST2的数据库, primary 它有两个数据文件,其中,主数 name= test2 datall filename='d: data\test2 datal. mdf! 据文件为20MB,最大大小不限, size=20mb 按10%增长。1个辅数据文件为 maxsize=unlimited, file th=108 20MB,最大大小不限,按10%增 长,有1个日志文件,大小为 name=test2 data2 50MB,最大大小为100MB,按 filename='d: \data\test2 datal ndfI SIze 10MB增长 maxsize=unlimited filegrowth=l0 log name=test2 logl, filename='d: \data\test2 logl. ldf, size=50mb, maxsize=100mb, filegrowth=lomb
7 练习 2、创建一个名为TEST2的数据库, 它有两个数据文件,其中,主数 据文件为20MB,最大大小不限, 按10%增长。1个辅数据文件为 20MB,最大大小不限,按10%增 长,有1个日志文件,大小为 50MB,最大大小为100MB,按 10MB增长。 create database test2 on primary ( name='test2_data1', filename='d:\data\test2_data1.mdf', size=20mb, maxsize=unlimited, filegrowth=10% ), ( name='test2_data2', filename='d:\data\test2_data1.ndf', size=20mb, maxsize=unlimited, filegrowth=10% ) log on ( name='test2_log1', filename='d:\data\test2_log1.ldf', size=50mb, maxsize=100mb, filegrowth=10mb );
练习 create database test3 3、创建一个具有2个文件 on 组的数据库TEST3。要求 primary (1)主文件组包括文件 name=i test3 dat1 TEST3dat1,文件初始大小 filename=d: datatest3 dat1 mdf I size=20mb 为20MB,最大为60MB, maxsize=60mb 按5MB增长;(2)有1个 filegrowth=5mb 文件组名为TEST3Goup1, 包括文件TEST1da2,文件 filegroup test3groupl 初始大小为10MB,最大为 name=' test3 dat2 30MB,按10%增长 filename='d: datatest3 dat2ndf I size=10mb maxsize=30mb filegrowth=10
8 练习3、创建一个具有 2个文件 组的数据库TEST3。要求: (1)主文件组包括文件 TEST3_dat1,文件初始大小 为20MB,最大为60MB, 按5MB增长;(2)有1个 文件组名为TEST3Group1 , 包括文件TEST1_dat2,文件 初始大小为10MB,最大为 30MB,按10%增长。 create database test3 on primary ( name ='test3_dat1', filename ='d:\data\test3_dat1.mdf', size =20mb, maxsize =60mb, filegrowth =5mb ), filegroup test3group1 ( name ='test3_dat2', filename ='d:\data\test3_dat2.ndf', size =10mb, maxsize =30mb, filegrowth =10% );
修改数据库语法格式 Alter database database name fadd file L,.n] [to filegroup filegroupname 在文件组中增加数据文件 add log file< filespec〉[,…n] 增加日志文件 I remove file logical_ file _name [with delete 删除数据文件 modify file <filespec) 更改文件属性 l add filegroup filegroup name 增加文件组 remove filegroup filegroup name 删除文件组 odify filegroup filegroup name 更改文件组属性
9 修改数据库语法格式 Alter database database_name {add file [,„n] [to filegroup filegroupname] 在文件组中增加数据文件 |add log file [,„n] 增加日志文件 |remove file logical_file_name [with delete] 删除数据文件 |modify file 更改文件属性 |modify name=new_databasename 数据库更名 |add filegroup filegroup_name 增加文件组 |remove filegroup filegroup_name 删除文件组 |modify filegroup filegroup_name 更改文件组属性 } Alter database database_name {add file [,„n] [to filegroup filegroupname] 在文件组中增加数据文件 |add log file [,„n] 增加日志文件 |remove file logical_file_name [with delete] 删除数据文件 |modify file 更改文件属性 |modify name=new_databasename 数据库更名 |add filegroup filegroup_name 增加文件组 |remove filegroup filegroup_name 删除文件组 |modify filegroup filegroup_name 更改文件组属性 }
练习 1、修改数据库τESπ现有数据文件TEST1DATA的属性,将主数据文件的最大 大小改为100MB,增长方式改为按每次5MB增长。 alter database testl modify file name=test1 data maxsize=100mb filegrowth=5mb 10
10 练习 1、修改数据库TEST1现有数据文件TEST1_DATA的属性,将主数据文件的最大 大小改为100MB,增长方式改为按每次5MB增长。 alter database test1 modify file ( name=test1_data, maxsize=100mb, filegrowth=5mb )