1. 程式人生 > >數據定義語言(DDL)語句

數據定義語言(DDL)語句

isa xtra 字符串 oracle val 可變 字符 mage prim

技術分享圖片

1.1 DDL語句

數據定義語言(DDL)語句,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用,這些語句包括CREATE、ALTER、DROP等語句。

1.1.1 Create語句

CREATE (創建表, 索引, 視圖, 同義詞, 過程, 函數, 數據庫鏈接等)
約定說明:
  ORACLE常用的字段類型有
  CHAR 固定長度的字符串
  VARCHAR2 可變長度的字符串
  NUMBER(M,N) 數字型M是位數總長度, N是小數的長度

  DATE 日期類型
1、創建表時要把較小的不為空的字段放在前面, 可能為空的字段放在後面
2、創建表時可以用中文的字段名, 但最好還是用英文的字段名
3、創建表時可以給字段加上默認值, 例如 DEFAULT SYSDATE,這樣每次插入和修改時, 不用程序操作這個字段都能得到動作的時間
4、創建表時可以給字段加上約束條件;例如 不允許重復 UNIQUE, 關鍵字 PRIMARY KEY

1.1.1.1 表

語法:create table table_name(column1 datatype [not null] [not null primary key], column2 datatype [not null],..)

datatype - 資料的格式
not null - 不可以允許資料有空的
primary key - 是本表的主鍵
例如:create table人員表 (姓名 varchar2(10),年齡 integer);

1.1.1.2 索引

語法:create [unique] index index_name on table_name (column_name)

例如:CREATE INDEX 人員表_IX_姓名 on 人員表(姓名) ;

1.1.1.3 視圖

語法:Create Or Replace View view_name As (column)

Create Or Replace View 病人信息 As (select 姓名,年齡 from 人員表)

1.1.1.4 用戶

語法:CREATE USER user_name INDENTIFIED BY password

例如:create user zlhis identified by his;

1.1.2 Alter語句

1.1.2.1 表

語法:改變表的名稱

ALTER TABLE 表名1 TO 表名2;

在表的後面增加一個字段.(沒有刪除一個字段的用法)

ALTER TABLE表名 ADD 字段名字段名描述;

修改表裏字段的定義描述

ALTER TABLE表名 MODIFY字段名字段名描述;

把表放在或取出數據庫的內存區

ALTER TABLE 表名 CACHE;

ALTER TABLE 表名 NOCACHE;

例如:alter table人員表 add 地址 varchar(100);--在實際應用中不能有column關鍵字

1.1.2.2 索引

語法:alter index index_name [storage-clause][initrans 整數][maxtrans 整數]

alter index index_name rebuild

例如:ALTER INDEX 人員表_IX_姓名 STORAGE (NEXT 512K MAXEXTENTS UNLIMITED) ;

ALTER INDEX人員表_IX_姓名 REBUILD;

1.1.2.3 約束

語法:增加約束

ALTER TABLE 表名 ADD CONSTRAINT 約束名 PRIMARY KEY (字段名);

ALTER TABLE 表名 ADD CONSTRAINT 約束名 UNIQUE (字段名);

失效約束

ALTER TABLE 表名 DISABLE 約束名 [CASCADE]

啟用約束

ALTER TABLE 表名 ENABLE CONSTARAINT約束名

修改約束:

ALTER TABLE 表名 MODIFY CONSTARAINT ENABLE 約束名 [CASCADE]

例如:alter table 人員表 add constraint 人員表_uq_姓名 unique(姓名);

1.1.2.4 用戶

語法:ALTER USER user_name INDENTIFIED BY password

例如:alter user zlhis identified by his;

1.1.3 Drop語句

刪除表 drop table 表名
刪除索引 drop index 索引名

刪除用戶 drop user 用戶名
例如:drop table 人員表;
drop index 人員表; --刪除時需要指明table 或 index 關鍵字

Drop user zlhis;

數據定義語言(DDL)語句