達夢資料庫的SQL語言學習(一)

2021-10-09 14:59:44 字數 3938 閱讀 6808

dm_sql語言集資料庫的定義、查詢、更新、控制、維護、恢復、安全等一系列操作於一體,每一項操作都只需一種操作符表示。

dm_sql語句分為以下幾種:

1.使用者、模式、基表、檢視、索引、序列、全文索引、儲存過程、觸發器等資料庫物件的定義和刪除語句,資料庫、使用者、基表、檢視、索引、全文索引等資料庫物件的修改語句;

2.查詢(含全文檢索)、插入、刪除、修改語句;

3.資料庫安全語句。建立角色、刪除角色、授權、**許可權語句、修改登入口令語句,審計設定語句、取消審計設定語句等。

dm_sql語言引入了游標的概念,游標的定義、開啟、關閉、撥動語句;游標定位方式的資料修改和刪除語句。

dm_sql語言提供了事務的回滾(rollback)和提交(commit)語句。

資料庫修改語句

使用dm_sql建立乙個模式

sql> create schema res authorization sysdba;

2 /建立乙個表空間

sql> create tablespace bookshop1 datafile 『bookshop1.dbf』 size 100;

建立表,將表儲存在表空間bookshop1中

sql> create table res.address(addressid int identity(1,1) primary key,address1 varchar(60) not null,address2 varchar(60),postalcode varchar(15) not null) storage(on bookshop1);

新增日誌檔案

sql> alter database add logfile 『/dm8/dameng01_0.log』 size 200;

擴充日誌檔案

sql> alter database resize logfile 『/dm8/dmlog_0.log』 to 300;

將資料庫改為mount狀態,重新命名日誌檔案

sql> alter database rename logfile 『/dm8/dmlog_0.log』 to 『dm8/dmlog_1.log』;

將資料庫改為mount狀態,設定資料庫模式為非歸檔

sql> alter database archivelog;

將資料庫改為mount狀態,設定資料庫模式為歸檔

sql> alter database noarchivelog;

將資料庫改為mount狀態,新增本地歸檔

sql> alter database mount;

sql> alter database add archivelog 『dest=/dm8/arch_local,type=local,file_size=128,space_limit=1024』;

將資料庫改為mount狀態,新增乙個實時歸檔配置,遠端服務例項名為realtime,需要事先配置mail

sql> alter database add archivelog 『dest= realtime,type=realtime』;

將資料庫改為mount狀態,增加乙個非同步歸檔配置,遠端服務例項名為asyn,定時器名為timer1,需事先配置好mail和timer。

sql> alter database add archivelog 『dest=asyn,type=async,timer_name=timer1』;

建立使用者

使用者名稱在伺服器中唯一;

系統為乙個使用者儲存的資訊主要有:使用者名稱、口令、資源限制

使用者口令以密文形式儲存

如果沒有指定使用者預設表空間,則系統指定main表空間為使用者的預設表空間

如果沒有指定使用者預設索引表空間,則huge表的索引預設儲存在使用者的預設表空間中,普通表的索引預設儲存在表的聚集索引所在的表空間中。臨時表的索引永遠儲存在temp表空間。

系統預先設定了三個使用者,分別為sysdba\sysauditor和syssso,其中sysdba具備dba角色,sysauditor具備db_audit_admin角色,而syssso具備db_policy_admin系統角色。

建立乙個使用者bookshop,設定會話超時為30分鐘

sql> create user bookshop_user identified by bookshop1 limit connect_time 30;

每個使用者均可修改自身的口令,sysdba使用者可強制修改所有其他使用者的口令;只有具備alter user許可權的使用者才能修改其身份驗證模式、系統角色及資源限制項;不論dm.ini的ddl_auto_commit設定為自動提交還是非自動提交,alter user操作都會被自動提交。

修改使用者bookshop_user,會話空閒期為無限制,最大連線數為10.

sql> alter user bookshop_user limit session_per_user 10,connect_idle_time unlimited;

只有具備drop user許可權的使用者才能進行刪除使用者的操作。

管理模式

模式定義語句建立乙個架構,可以將模式看作是乙個包含表、檢視和許可權定義的物件。在dm資料庫中, 乙個使用者可以建立多個模式,乙個模式中的物件(表、檢視)可以被多個使用者使用。

系統為每個使用者自動建立了乙個與使用者名稱同名的模式作為預設模式,使用者可以用模式定義語句建立其他模式。

只有具有dba或create schema許可權的使用者才能在指定的資料庫中定義模式。

將當前的模式切換為rem模式。

sql> set schema rem;

刪除乙個模式,選項cascade表示將整個模式、模式中的物件、以及該模式相關的依賴關係全部刪除。

sql> drop schema rem cascade;

刪除乙個模式,選項restrict表示將乙個空的模式刪除,如果模式不為空,將不能刪除。

sql> drop schema re restrict;

管理表空間

只有具有建立表空間許可權的使用者才能建立表空間

表空間名在資料庫中是唯一的

乙個表空間中,資料檔案和映象檔案不能超過256個

如果資料庫已經加密,就不再支援表空間加密。

建立乙個表空間

sql> create tablespace ts datafile 『/dm8/rs.dbf』 size 128;

將表空間重新命名

sql> alter tablespace ts rename to ts1;

給表空間新增資料檔案

sql> alter tablespace ts1 add datafile 『/dm8/ts1_1.dbf』 size 128;

修改表空間資料檔案的大小

sql> alter tablespace ts1 resize datafile 『/dm8/ts1_1.dbf』 to 200;

將表空間中的資料檔案重新命名

sql> alter tablespace ts1 offline;

sql> alter tablespace ts1 rename datafile 『/dm8/ts1_1.dbf』 to 『/dm8/ts1_2.dbf』;

sql> alter tablespace ts1 online;

修改表空間中的資料檔案自動擴充套件,每次擴充套件10m,最大檔案為1000m

sql> alter tablespace ts1 datafile 『/dm8/ts1_2.dbf』 autoextend on next 10 maxsize 1000;

修改表空間ts1的緩衝池名字為keep

sql> alter tablespace ts1 cache=『keep』;

修改表空間為corrupt狀態,corrupt是當表空間傳送損壞(表空間還原失敗,或者資料檔案丟失或損壞情況下),corrupt狀態執行刪除損壞的表空間,如果表空間上定義有物件,需要先刪除所有物件,再刪除表空間。

sql> alter tablespace ts1 offline;

sql> alter tablespace ts1 corrupt;

達夢資料庫常用SQL

達夢資料庫建立表 create table test table scid varchar2 10 primary key,scname varchar2 20 scsm number 6 scprice number 4,2 當前使用者 達夢資料庫 獲取當前使用者擁有的表 select table...

達夢資料庫和mysql索引引擎 達夢資料庫 索引

1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...

達夢資料庫 學習筆記 2020 09

學習筆記 006 學習內容 sql語言使用手冊 第1章內容總結如下 dm sql語言符合結構化查詢語言sql標準,是標準sql的擴充。它集資料定義 資料查詢 資料操縱和資料控制於一體,是一種統一的 綜合的關聯式資料庫語言。它功能強大,使用簡單方便 容易為使用者掌握。dm sql語言具有如下特點 dm...