oracle資料庫基礎知識學習筆記
一、SQL語言分類:
1.DDL(資料定義語言): create(建立) alter(修改) drop(刪除)------------主要是對錶操作。
2.DML(資料操作語言): insert(插入) delete(刪除) update(更新) select(查詢) 、select......for update(查詢更新)----表中資料進行操作
3.DQL資料查詢語言:基本語句、Order by 子句、Group by 分組語句
4.TCL(事務控制語言):Commit(提交) 、Savepoint(儲存) 、rollback(回滾)、
5.DCL(資料控制語言):
二、Oracle資料型別:
Char: 字元型(最大長度2000,定長、不足時以空格補充)
Varchar2:字元型 最大長度 4000,變長,實際長度由儲存的資料長度決定(與儲存的資料長度一致)
Number(x,y):既可以儲存浮點型,也可以儲存整形,x表示有效位數的最大位數,y表示小數位最大位數。
Date:儲存時間型別。預設格式:dd--mm--yy: 天-月-年。
Clob:儲存較大的文字,比如儲存非結構化XML文件,最大為 4G
Blob:儲存二進位制物件,如圖形、視訊、聲音等。
Long :儲存較長字串,最大長度為2G
三、表管理:
1.建立表:
Create table 表名(
欄位名稱 型別 約束
)
2.修改表結構
2.1、新增列
Alter table 表名 add( 欄位名稱 資料型別 )
例子:alter table test_tb add(test_name varchar2(200))
2.2、刪除表中一列
Alter table 表名 set unused column 列名
例子:alter table test_tb set unused column test_name
一般:不建議刪除資料庫中的列。
2.3、修改列名
Alter table 表名 rename column 舊列名 to 新列名
例子:alter table test_tb rename column test_msg to msg
2.4、修改表名:
Rename 表名1 (舊名字)to 表名2(新名字)
例子:rename test_tb to test_tb1
2.5、修改表字段
Alter table 表名 modify( 欄位名稱 新的欄位型別 )
例子:alter table test_tb1 modify(msg varchar(4000))
2.6、新增表約束:
Alter table 表名 add Constraint 約束名 約束內容
例子:
alter table test_tb1 add constraint p_k primary key(test_num)-----主鍵約束
alter table test_tb1 add constraint c_k check(msg='男' or msg='女')---檢查約束
Not null----非空約束
四、資料操作語言:DML
對oracle自帶的表進行訓練操作
簡單查詢 :
Select *|列名|表示式 from 表名 where 條件 order by 列名
1.* 表示所有列
2.列名可以選擇若干個表中列名,各個表中列名用逗號分隔。
3.表示式可以是函式,列名,常數等組成表示式。
4.Where子句是查詢的條件
5.Order by 要求在查詢結果中排序,預設是升序。
例子:
select * from emp order by sal desc(降序)
select * from emp order by sal (升序)
select * from emp order by sal asc(升序)
插入:
Insert into 表名 values(所有欄位對應值);
Insert into 表名(欄位名1,欄位名稱2....) values(對應欄位值)
例子:insert into test_tb1(test_num,msg) values(666,'MSG values')
更新:
Update 表名 set 欄位名稱 =值 where 更新條件
例子:update test_tb1 set msg='hello oracle' where test_num=123
刪除:
Delete 表名 where 條件
例子:delete test_tb1 where msg='hello oracle'
Truncate--將表中資料一次性刪除語法: truncate table 表名
Truncate和detele區別:
1、truncate是DDL命令,刪除資料不能回覆;delete是DML命令,刪除資料可以通過資料庫的日誌檔案進行恢復。
2、如果一個表中記錄很多,truncate相對delete速度快。
警告:由於truncate命令比較危險,所有在實際開發中,truncate命令慎用。
五、操作符:
算術操作符: + 、 - 、* 、/ (加、減、乘、除)
關係運算和邏輯運算子:
= 等於
> 大於
<>或 != 不等於
<= 小於或等於
< 小於
>= 大於或等於
邏輯運算子:
And 、 or 、 in 、not in
And:且
Or: 或者
Not in 不在...中
In:在.....中
--加法
例子:SELECT ename,job,(sal+comm) FROM emp;
--減法
例子:SELECT ename,job,(sal-comm) FROM emp;
--雙豎線 ||
例子:SELECT (ename||'的工資'||(sal+comm)) FROM emp;
字串連線操作符: || (雙豎線)
例子:select (ename||' 的工資是:'||(sal+comm)) from emp