Oracle基本SQL語句

名為丶小白發表於2020-11-12

刪除表:
drop table 表名

修改表結構:
刪除列:
alter table 表名 drop column 列名

增加列:
alter table 表名 add(列名 資料型別, 列名 資料型別.....)

修改列的資料型別:
alter table 表名 modify(列名 資料型別)

主鍵(Primary Key--PK):主鍵在表中能夠唯一表示一條記錄的欄位,主鍵唯一併且不能為空。
外來鍵(Foreign Key--FK):外來鍵主要用來維繫多表之間的關聯關係,一張表中的外來鍵,必定是另一張表中的主鍵。

增加主鍵:
alter table 表名 add constraint 鍵名 primary key(列名)

刪除鍵:
alter talbe 表名 drop constraint 鍵名

增加外來鍵:
alter table 表名 add constraint 鍵名 foreign key(列名) references 關聯表名(列名)

插入語句:
insert into 表名 (列1, 列2.....) values(值1, 值2.....)

如果要插入的是一個表中的全部欄位資料:
insert into 表名 values(值1, 值2......)

更新表中資料:
update 表名 set 列=值, 列=值....... [where 條件]

刪除表中資料:
delete from 表名 [where 條件]

刪除表中資料還可以使用truncate
truncate table 表名

注意,在更新和刪除資料時,一定要在後面寫條件,除非要做刪除全表資料或更新全表資料。

truncate和delete的區別:如果使用delete刪除表中資料,會產生日誌檔案,刪除的資料是可以恢復,所以相對來說刪除速度慢,truncate正好相反,在刪除表中資料時不會產生日誌檔案,資料不可恢復,所以相對來說刪除速度快。

sysdate:表示當前的系統日期和時間
在Oracle中提供了一張叫做dual表,它是一張臨時表,主要用來做測試用。

在Oracle中預設的日期格式是:“日-月-年”

偽列:
rowid:表示一條記錄在記憶體中的地址
rownum:行號,通常用來做分頁

在查詢表的時候還可以給表起別名,在表名後空一格,然後寫別名,在查詢表中欄位時可以使用“表別名.欄位名”的形式。
除了給表起別名外,還可以給列起別名,兩種形式,可以在列名後用as來加入別名,也可以在列後空一格,然後寫別名。


14168438-346f197f27a7eebf.png
image.png

14168438-75ad852cd68f9c94.png
image.png

在查詢的時候預設列名都是大寫字母,可以在起別名的時候用雙引號括起來,就可以加入小寫字母的別名了。


14168438-f70ef60e0c1f3867.png
image.png

在Oracle中的字串連線符是“||”


14168438-6ba72f07c06e14a6.png
image.png

在查詢的時候還可以對列進行四則運算,
查詢10年之後學生表中每名學生的年齡:


14168438-cdf334cf5b84dcd8.png
image.png

查詢學生表中每名學生出生後一個月(假定一個月為30天)的日期:


14168438-8c7af2b90c9147d1.png
image.png

在查詢語句中還可以加入查詢條件:
select 列名from 表名 where 查詢條件
在條件中可以加入關係運算子:< > <= >= != =
查詢班級號為“1”的所有學生資訊:

14168438-cb59fd0d985738d9.png
image.png

還可以在條件中使用邏輯運算子:and or
查詢數學成績和英語成績都及格的學生資訊


14168438-0d84976ccb96b53e.png
image.png

在查詢條件中還可以使用in來匹配查詢條件
查詢數學成績為60,70,80的學生資訊:


14168438-e06a9185997aadf5.png
image.png

在查詢條件中,可以使用between...and來限制查詢範圍
查詢英語成績在80到90之間的學生資訊:


14168438-6cb15fea7f3eca5b.png
image.png

在查詢條件中,還可以使用is null 和 is not null來判斷是否為空值。
查詢有數學成績,並且英語成績在80分以上的學生資訊:


14168438-1c5625374f898672.png
image.png

萬用字元:
_ 表示任意一個字元
% 表示0到n個任意字元

查詢學生表中,姓張並且姓名是兩個字的同學:


14168438-42e06451366e1a96.png
image.png

查詢學生表中不姓張的同學資訊:


14168438-b778c2a61e800d01.png
image.png

相關文章