對象 | 描述 |
---|---|
表 | 基本的數據存儲集合,由行和列組成。 |
視圖 | 從表中抽出的邏輯上相關的數據集合。 |
序列 | 提供有規律的數值。 |
索引 | 提高查詢的效率 |
同義詞 | 給對象起別名 |
數據類型 | 描述 |
---|---|
VARCHAR2(size) | 可變長字符數據 |
CHAR(size) | 定長字符數據 |
NUMBER(p,s) | 可變長數值數據 |
DATE | 日期型數據 |
LONG | 可變長字符數據,最大可達到2G |
CLOB | 字符數據,最大可達到4G |
RAW (LONG RAW) | 原始的二進制數據 |
BLOB | 二進制數據,最大可達到4G |
BFILE | 存儲外部文件的二進制數據,最大可達到4G |
ROWID | 行地址 |
select table_name from user_tables;
創建table_01
的表格,包含字段,id,name,salary,hire_date。
rename [舊表名] to [新表名]
drop table [表名]
truncate table [表名]
該操作不能回滾 但是使用delete from [表名]
之后使用rollback
可以撤回操作
alter table [表名] add ([字段名] [字段類型]);
alter table [表名] modify ([字段名] [字段類型]);
alter table [表名] modify ([字段名] [字段類型] default [默認值]);
alter table [表名] drop column [字段名] ;
alter table [表名] [列名] rename column [舊字段名] to [新字段名] ;
insert into [表名](column[,column...]) values (values[,values...])
示例:向 emp2 表中插入一行數據
把B表數據拷貝到A表
insert into [表A] select * from [表B]
注意: 前提是A表必須存在而且表結構和B表一樣
update [表名] set [字段名]=[更新的值] where [條件]
[更新的值]可以是一個子查詢
注意約束導致數據完整性錯誤UPDATE employeesSET department_id = 55WHERE department_id = 110;導致錯誤
UPDATE employees *ERROR at line 1:ORA-02291: integrity constraint (HR.EMP_DEPT_FK) violated - parent key not found原因是,employees對應department中沒有55號這個部門所以導致失敗。
delete from [表名] where [條件]
如果不加條件則就是刪除所有的表記錄
[條件]可以作為一個子查詢
一組邏輯操作單元,使數據從一種狀態變換到另一種狀態。
數據庫事務由以下的部分組成:
一個或多個DML 語句一個 DDL(Data Definition Language – 數據定義語言) 語句一個 DCL(Data Control Language – 數據控制語言) 語句對一個表進行操作完畢后,使用commit
表示保存做的操作,保存完畢之后如果在次對標進行操作,而沒使用commit
此時使用rollback
會使得表的修改恢復到上一次commit
之后
舉個例子:創建一個表,并插入了數據,如果插入完數據之后沒有使用commit
,那么表格內容雖然是修改了的,但是并沒有保存,此時如果使用rollback
表格會恢復到沒插入內容之前的狀態。也就是空表格。。。
對表操作的時候,相當于數據庫給表加了一把鎖,當使用commit之后,鎖才會釋放,其他用戶才能對表進行操作
新聞熱點
疑難解答