數據庫對象
表、索引、視圖、缺省值、規則(約束)、觸發器、用戶、存儲過程、函數等。
表格
數據庫中的表與我們日常生活中使用的表格類似,它也是由行(Row) 和列(Column)組成的。
創建表
- 語法(沒加約束):
CREATE TABLE 表名稱 ( 列名稱1 數據類型,
列名2 數據類型,
列名稱3 數據類型,
… ,
列名稱N 數據類型);
- 注意
命名規則:字母、數字、下劃線(_)組成,不要以數字開頭
查看錶結構
- 語法
command Windows命令窗口:
DESC 表名;
修改表:增加一列或多列
- 語法
alter table 表名 add(字段名 數據類型,字段名2 數據類型2);
修改表:修改一列或多列
- 語法
alter table 表名 modify(字段名 數據類型,字段名2 數據類型2);
增加和修改列是不需要加關鍵字COLUMN,否則會報錯ora-00905
刪除表
- 語法
drop table 表名;
刪除表:刪除一列
- 語法
alter table 表名 drop column 字段名;
刪除表:刪除多列
- 語法
alter table 表名 drop(字段名1,字段名2,````);
刪除一列時要加COLUMN,多列時不用
索引
索引是根據指定的數據庫表列建立起來的順序。它提供了快速訪問數據的途徑,並且可監督表的數據,使其索引所指向的列中的數據不重複。就好比書的目錄一樣,可以通過目錄來直接定位所需內容存在的頁數,大大提高檢索效率。
- 語法:
CREATE INDEX 索引名稱 ON 表名(column…);
視圖
視圖一個虛擬的表,在數據庫中並不實際存在。視圖是由查詢數據庫表產生的,它限制了用戶能看到和修改的數據。由此可見,視圖可以用來控制用戶對數據的訪問,並能簡化數據的顯示,即通過視圖只顯示那些需要的數據信息。
-
語法
CREATE [OR REPLACE] VIEW view_name AS SELECT查詢 [WITH CHECK OPTION] [WITH READ ONLY CONSTRAINT]
-
語法解析:
CREATE OR Replace:用於創建和修改視圖
WITH CHECK OPTION:用於創建限制數據訪問的視圖
WITH READ ONLY:用於創建只讀視圖
缺省值(默認值)
當在表中創建列或插入數據時,對沒有指定其具體值的列或列數據項賦予事先設定好的默認值。
- 語法:
create table 表名(
列名稱1 數據類型 [default 默認值]
);
規則(約束)
規則是對數據庫表中數據信息的限制。它限定的是表的列。
唯一約束(unique):該列值是不能重複的,但是可以爲null。
非空(not null):數據不能爲NULL。
主鍵(primary key):唯一的標識錶行的數據,當定義主鍵約束後,該列不但不能重複而且不能爲NULL。
檢查(check):檢查值是否滿足某個條件,屬於表對象,必須要有名字
外鍵(references):主副表間的關聯關係。
- 創建表語法(加約束):
create table 表名(
列名稱1 數據類型 [primary key],
列名稱2 數據類型 [unique],
列名稱3 數據類型 [not null | null],
列名稱4 數據類型 check(條件),
列名稱5 數據類型 [references 表名(列名)]
…
列名稱N 數據類型 [default 默認值] [等限制]
);
存儲過程
語法:
create proc 存儲過程名
參數1 參數類型
as
declare 輸出參數 輸出參數類型
執行行或者程序塊
執行存儲過程
exec 存儲過程名
存儲過程是爲完成特定的功能而彙集在一起的一組SQL 程序語句,經編譯後存儲在數據庫中的SQL 程序。
觸發器
觸發器由事件來觸發,可以查詢其他表,而且可以包含複雜的SQL語句。主要用於強制服從複雜的業務規則或要求。也可用於強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在表之間定義的關係。
- 語法:
Create Trigger 觸發器名稱 on 表名
for (操作)(即insert,update,delete)
as
執行行或者程序塊
執行觸發器
在對錶做相應操做時觸發
觸發器是一個用戶定義的SQL事務命令的集合。當對一個表進行插入、更改、刪除時,這組命令就會自動執行。