达梦数据库DDL:数据库定义(创建)、修改、删除、设置语句

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

      DM有两种由系统创建和管理的数据库:一种是系统数据库(SYSTEM.DBF),用于存放数据词典中的系统表信息以及用户在它上面创建的各种数据库对象;另一种是系统运行时创建的临时数据库(TMPDBxxx.DBF),临时数据库有多个,具体个数在DM.INI文件中进行设置,也就是对DM.INI文件中的TEMP_DBS项进行赋值。

      除上面两种由系统创建和管理的数据库之外,用户可以自行建立一个或多个用户数据库。各个数据库间具有一定的相互独立性,库中所有对象的作用范围都不能超出其所在的库。

数据库定义语句格式:

CREATE DATABASE <数据库名><文件生成子句>[<是否归档子句>] [<归档目录子句>][<备份目录子句>]


语句功能:供DBA或具有CREATE_DATABASE权限的用户创建一个新数据库及存储该数据库的文件。

使用说明:

1.所指定的数据库和文件不能是已经存在的。

2.文件大小不小于(4*页大小)MB,文件大小的上限由操作系统限定。

3.库文件的页大小、簇大小等在安装时统一指定,以后不能更改。

4.一个已经存在的数据必须经过分离之后才能添加,分离数据库参考数据库删除语法。

5.附加数据库时,文件指定语句中文件的编号可以通过存储过程SP_ATTACH_GET_FILE_LIST(CTL_PATH VARCHAR(256))获得,附加数据库的基本信息(如:页大小,簇大小等)可以通过存储过程 SP_GET_ ATTACH_INFO(CTL_PATH VARCHAR(256))获得。

举例说明
例 创建数据库 BOOKSHOP,数据文件存放路径为 C:\DMDBMS\data (该路径必须存在,否则创
建数据库语句不能执行成功),数据库文件名为 BOOKSHOP.DBF,大小为 50MB(假设每页大小为
8K)。
CREATE DATABASE BOOKSHOP DATAFILE 'C:\DMDBMS\data\BOOKSHOP.DBF' SIZE 50
例 附加数据库 BOOKSHOP,数据库控制文件为 C:\DMDBMS\data\BOOKSHOP01.CTL 和
C:\DMDBMS\data\BOOKSHOP02.CTL ,数据库的其他数据文件默认为控制文件中文件路径。
CREATE DATABASE BOOKSHOP ATTACH FROM 'C:\DMDBMS\data\BOOKSHOP01.CTL','
C:\DMDBMS\data\BOOKSHOP02.CTL ';

一个数据库创建成功后,可以通过增大原有数据库文件大小,或在该数据库中加入新的数据库文件两种方式来修改(增大)该数据库空间。
修改数据库语句格式:

ALTER DATABASE <数据库名><修改数据库语句>

语句功能功能:供具有DBA权限的用户修改(增加)数据库空间或增加文件组以及增加文件组中数据文件。

使用说明:

1.对于,所指定的数据文件在指定文件路径下并不存在,在此命令执行成功后才会生成;对于,必须对已存在的数据文件进行操作;

2.对于所指定的整数值,其单位是MB;

3.对日志文件进行扩展时,如果是当前正在使用的日志文件,扩展会失败。

​
举例说明
假设数据库 BOOKSHOP 页面大小为 8K,数据文件存放路径为 C:\DMDBMS\data。
例 给 BOOKSHOP 数据库增加一个新数据文件 BOOKSHOP1.DBF,其大小为 40M:
ALTER DATABASE BOOKSHOP ADD DATAFILE 'C:\DMDBMS\data\BOOKSHOP1.DBF' SIZE 40;
例 扩展 BOOKSHOP 数据库中的这个数据文件,使其大小增大为 50M:
ALTER DATABASE BOOKSHOP MODIFY DATAFILE 'C:\DMDBMS\data\BOOKSHOP1.DBF ' INCREASE 10;
例 增加文件组 FG_PERSON 在默认位置:
ALTER DATABASE BOOKSHOP ADD FILEGROUP FG_PERSON 'C:\DMDBMS\data\FG_PERSON.DBF' SIZE
50;
例 增加文件组 FG_PRODUCTION 在其它位置:
ALTER DATABASE BOOKSHOP ADD FILEGROUP FG_PRODUCTION 'C:\EXP\FG_PRODUCTION.DBF'
SIZE 50;
例 在文件组 FG_PERSON 中增加数据文件在默认位置:
ALTER DATABASE BOOKSHOP ADD DATAFILE 'C:\DMDBMS\data\FG_PERSON1.DBF' SIZE 50 ON
FILEGROUP FG_PERSON;
例 在文件组 FG_PRODUCTION 中增加数据文件在其它位置:
ALTER DATABASE BOOKSHOP ADD DATAFILE 'C:\EXP\FG_PRODUCTION1.DBF' SIZE 50 ON
FILEGROUP FG_PRODUCTION;
例 设置数据库 BOOKSHOP 联机:
ALTER DATABASE BOOKSHOP SET ONLINE;
例 设置数据库 BOOKSHOP 脱机:
ALTER DATABASE BOOKSHOP SET OFFLINE;
​

删除数据库

语句格式:

DROP DATABASE <数据库名> [CASCADE][DETACH];

语句功能:

供DBA权限的用户删除数据库。

使用说明:

1.使用者应拥有DBA权限;

2.无法删除系统数据库(SYSTEM.DBF、临时数据库);

3.使用CASCADE选项,删除该数据库及其所包含的所有文件的同时,也将删除其所有备份文件;否则,删除该数据库及其包含的所有文件,但保留备份文件;

4.使用DETACH选项,分离数据库,不删除数据库文件(控制文件、数据文件、回滚文件、日志文件)。

举例说明
例 删除数据库 BOOKSHOP:
DROP DATABASE BOOKSHOP;
例 删除数据库 BOOKSHOP 及其备份文件:
DROP DATABASE BOOKSHOP CASCADE;
例 分离数据库 BOOKSHOP:
DROP DATABASE BOOKSHOP DETACH;

设置当前活动数据库

语句格式:

SET [CURRENT DATABASE] | [[CURRENT] CATALOG] <数据库名>;

语句功能:

供用户指定当前活动数据库。

使用说明:
如果用户登录系统时指定了要登录到哪个数据库,登录成功后,该数据库就是当前数据库;如果登录时没有指定登录哪个数据库,则登录的将是用户所使用的登录对应的缺省数据库,登录成功后,该缺省数据库就是当前数据库。
该语句供用户指定当前活动数据库,接下来的未指定数据库名的操作都在设定的当前数据库上进行,直至指定另一数据库为当前数据库为止。
 

举例说明
例 设当前活动数据库为 SYSTEM,用户要在另一个数据库 BOOKSHOP 上进行一系列数据操
作,则可利用以下语句将当前活动数据库设置为 BOOKSHOP。
SET CURRENT DATABASE BOOKSHOP;

 

转载于:https://my.oschina.net/u/3782432/blog/1861975

你可能感兴趣的:(达梦数据库DDL:数据库定义(创建)、修改、删除、设置语句)