1. 程式人生 > >oracle資料庫常用的sql語法語句總結

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)
  1. 2.

select bkname name,bkprice price from tbook where isbn = ‘233’

       查詢語句  SELECT 列名稱 FROM 表名稱
  1. 3

.like%模糊查詢%

  1. 4

.更新某一列的值的方法 UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

update tuser set umoney=umoney-? where uname=? and umoney>=?";
  1. 5

.求某列某條件下的和

SELECT SUM(column_name) FROM
table_name select sum(money) from tuser where username ='雪糕'
  1. 6.

    查詢出來的東西進行排序
    select * from tbook t order by bkprice desc desc是降序
    預設的是asc 是升序

    1. 7.
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  insert into torder (ordno,uname,ordstate,fodmoney,bymsg) VALUES ( ? , ? , 1 , ? , ?)

按照列插入值

  1. 8
create index noindex on tbook(isbn)

建立索引 索引名

  1. 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)
  1. 10

.AND 和 OR 運算子
AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。

如果第一個條件和第二個條件都成立,則 AND 運算子顯示一條記錄。

如果第一個條件和第二個條件中只要有一個成立,則 OR 運算子顯示一條記錄。

  1. 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  ";
  1. 12

現在,我們希望從上面的 “Persons” 表中選取居住的城市以 “A” 或 “L” 或 “N” 開頭的人:

我們可以使用下面的 SELECT 語句:

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'
       框框內加歎號 是查詢沒有 a l  n  住在開頭的城市的人
  1. 13.
select rownum num from torder
  1. 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 方法轉化為字串

  1. 15

.自增 (select nvl(max(行的名稱),0)+1 from 表名)

         select nvl (max (styno),0)+1 from Tfood
  1. 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%”