1. 程式人生 > >oracle資料庫基礎知識學習筆記

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(資料控制語言):

Grant(授權)revoke(撤銷)命令。

二、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