oracle資料庫常用的sql語法語句總結
Structured Query Language 結構話查詢語言
建立表的寫法
1.1 列表內容
create table Table (
t1 varchar2(20) not null,
t2 varchar2(20) not null,
constraint PK_TABLE primary key(t1) //主鍵
);
alter table Table
add constraint FK_TABLE_REFERENCE_TABLE2 foreign key (t3) //外來鍵 references TABLE2 (t3)
- 2.
select bkname name,bkprice price from tbook where isbn = ‘233’
查詢語句 SELECT 列名稱 FROM 表名稱
- 3
.like%模糊查詢%
- 4
.更新某一列的值的方法 UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
update tuser set umoney=umoney-? where uname=? and umoney>=?";
- 5
.求某列某條件下的和
SELECT SUM(column_name) FROM table_name
select sum(money) from tuser where username ='雪糕'
6.
查詢出來的東西進行排序
select * from tbook t order by bkprice desc
desc是降序
預設的是asc 是升序- 7.
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
insert into torder (ordno,uname,ordstate,fodmoney,bymsg) VALUES ( ? , ? , 1 , ? , ?)
按照列插入值
- 8
create index noindex on tbook(isbn)
建立索引 索引名
- 9
.alter用於在已有的表中新增 修改 刪除 列
新增列
sql alter table_name sql alter TClass
add column_name datatype add tname varchar2(30)
drop column column_name 刪除列
alter column column_name datatype 改變列資料型別 alter column tname number(2,1)
- 10
.AND 和 OR 運算子
AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。
如果第一個條件和第二個條件都成立,則 AND 運算子顯示一條記錄。
如果第一個條件和第二個條件中只要有一個成立,則 OR 運算子顯示一條記錄。
11
多表查詢先寫所有的查詢的東西 什麼表.什麼列 然後from 來自 表 這裡表可以寫出簡稱
然後where條件寫出主外來鍵相等的關係
.select tfood.fname,torder.ordno,torder.uname,torder.ordstate,tmorder.aid,tmorder.amoney, " +
" tmorder.fcount, tmorder.acount, tfood.fno from torder,tmorder,tfood "+
" where torder.ordno = tmorder.ordno and tfood.fno = tmorder.fcount and torder.ordno = tmorder.ordno ";
- 12
現在,我們希望從上面的 “Persons” 表中選取居住的城市以 “A” 或 “L” 或 “N” 開頭的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons
WHERE City LIKE '[ALN]%'
框框內加歎號 是查詢沒有 a l n 住在開頭的城市的人
- 13.
select rownum num from torder
- 14
.IN 操作符允許我們在 WHERE 子句中規定多個值。 常與字串拼接一起用
Object[] fnos = foodset.toArray();//返回包含set元素的所有陣列
for(int i = 0; i < fnos.length; i++){
if(i == 0){
sb.append(“’”+fnos[i]+”’”); //第一個的話加兩個單引號即可
}else{
sb.append(“,’”+fnos[i]+”’”);//後面的都要多個逗號
}
}
String sql = “select * from tfood where fno in (“+sb.toString()+”)”; //toString 方法轉化為字串
- 15
.自增 (select nvl(max(行的名稱),0)+1 from 表名)
select nvl (max (styno),0)+1 from Tfood
- 16
.BETWEEN 操作符
操作符 BETWEEN … AND 會選取介於兩個值之間的資料範圍。這些值可以是數值、文字或者日期。
SQL BETWEEN 語法
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
select ordno from torder where ordstate between 3 and 5 [3,5) 前面+個not 取到相反範圍的值
select distinct 屬性、欄位 from 表
只顯示不重複的欄位 用於檢視該欄位有的內容是什麼
select 屬性 from 表 where 屬性 is not null
用於檢視該欄位中有什麼內容
select 屬性 from 表 where 屬性=’ ’ and 屬性=’ ’
查詢多個屬性值為你要用的欄位
select 屬性 order by desc
like =”%8012%”