資料定義語言(DDL)
模式的定義與刪除
定義模式
模式定義語句如下:
create schema <模式名> authorization <使用者名稱>;
如果沒有指定<模式名>,那麼<模式名>隱含為<使用者名稱>
注意: 在使用該語句時,你必須是管理員許可權,或者獲得了資料庫管理員授予的create schema的許可權。
當然你也可以在建立模式的同時在這個模式定義中進一步建立基本表、檢視、定義授權。
格式如下:
create schema <模式名> authorization <使用者名稱>
[表定義子句]
[檢視定義子句]
[授權定義子句];
例:給使用者demo 建立一個模式 test,並定義一個基本表 TAB
create schema test authorization demo
create table TAB
(
sname varchar(20),
sage int
);
刪除模式
drop schema <模式名> <cascade | restrict>;
cascade(級聯) 和 restrict(限制)兩者必選其一。
cascade表示在刪除模式的同時把該模式中所有的資料庫物件全部刪除。
restrict 表示如果該模式中已經定義了下屬的資料庫物件(如:表、檢視等),則拒絕該刪除語句的執行。
基本表的定義、刪除和修改
詳細文章,點下方跳轉。
基本表的定義、刪除和修改
索引的建立與刪除
當表的資料量較大時,查詢操作會比較耗時。
建立索引是加快查詢速度的有效手段。
建立索引
格式如下:
create [unique] [cluster] index <索引名>
on <表名>(<列名> [<列序>] [,<列名>[<次序>]]......);
索引可以建立在該表的一列或多列上。
unique 表明此索引的每一個索引值只對應唯一的資料記錄。
cluster表示要建立的索引是聚簇索引。
例:給student表按sname建立唯一索引。
create unique index Stusname on student(sname);
檢視索引
格式如下:
show index from 表名;
或
show keys from 表名;
修改索引
格式如下:
alter index <舊索引名> rename to <新索引名>;
例:將Student表的Stusname索引名改為Stusn。
alter index Stusname rename to Stusn;
【alter更改索引名】‘rename’ 附近有語法錯誤。
原因:
alter不能改變索引名,如若改變索引名就需要呼叫儲存過程。
解決辦法:
錯誤程式碼如下
alter index stusno rename to stusno3;
呼叫儲存過程程式碼如下:
EXEC sp_rename @objname = 'student.stusno1', @newname = 'stusno2', @objtype = 'index'
/*或者如下*/
EXEC sp_rename '表名.舊索引名', '新索引名', 'index'
呼叫儲存過程時會出現:
注意: 更改物件名的任一部分都可能會破壞指令碼和儲存過程。
這時命令已經成功執行了。
轉載於:https://www.cnblogs.com/Neavotre/p/11463366.html
刪除索引
格式如下:
drop INDEX <索引名> on <表名>;
sql語句版本一直在更新,語法也一直在變化。
例:刪除student表的Stusn索引。
drop index Stusname on student;
相關文章
- MySQL之資料定義語言(DDL)MySql
- 資料庫實驗3 資料定義語言DDL資料庫
- MySQL中的DDL(Data Definition Language,資料定義語言)MySql
- HIVE 資料定義 DDLHive
- MySQL全面瓦解4:資料定義-DDLMySql
- Hive(一)資料型別以及DDL資料定義Hive資料型別
- hive從入門到放棄(二)——DDL資料定義Hive
- 資料庫操作語言DDL資料庫
- 你需要知道的7個大資料定義大資料
- 【實驗】【MySQL】MySQL的DDL語言演示MySql
- ClickHouse資料庫資料定義手記之資料型別資料庫資料型別
- oracle使用dbms_metadata.get_ddl包檢視DDL語句定義Oracle
- DDL,DML,DCL,TCL四種語言的簡介
- MYSQL中的DDL(用來操縱資料庫物件的語言)1MySql資料庫物件
- C語言(巨集定義)C語言
- C語言EOF含義C語言
- MySQL 4.1.0 中文參考手冊 --- 6.5 資料定義: CREATE、DROP、ALTER (轉)MySql
- 使用資料泵匯出DDL語句
- 利用dbms_metadata.get_ddl生成對應定義語句
- 匯出ddl定義.sqlSQL
- C 語言巨集定義 #define 的理解與資料整理
- c語言的定義與宣告C語言
- 三句義的程式語言
- MySQL學習筆記之資料定義表約束,分頁方法總結MySql筆記
- ABAP 程式語言裡的 Reference Semantic - 引用語義
- 使用dbms_metadata.get_ddl檢視物件的定義語句。物件
- dbms_metadata.get_ddl()來獲得物件的定義語句物件
- SQL語言基礎(資料控制語言)SQL
- postgresql資料定時轉存mongodb方案SQLMongoDB
- 語義理解和研究資源是自然語言處理的兩大難題自然語言處理
- c語言函式指標的定義C語言函式指標
- C語言筆記——自定義型別C語言筆記型別
- 用python語言自定義mac命令PythonMac
- C語言未定義行為一覽C語言
- Oracle 獲取ddl語句Oracle
- PL/SQL與DDL語句SQL
- 利用dbms_metadata.get_ddl檢視DDL語句
- 用dbms_metadata.get_ddl獲取ddl語句