以student表為例:
-- 建立學生表
create table student
( id number,
name varchar2(40),
age number,
birthday date,
address varchar2(200)
)-- 插入資料
insert into student(id, name, age, birthday, address)
values(1, '王小波', 50, to_date('19700520','yyyymmdd'), '廣州市天河區')
-- 查詢
select * from student
-- 1 王小波 50 1970/5/20 廣州市天河區
如果需要修改資料,一般語法:
update student
set name = '王大錘',
age = 49,
birthday = to_date('19710206','yyyymmdd'),
address = '廣州市越秀區'
where id = 1;
如果字段非常多,這樣寫就稍微麻煩點,因為待修改欄位和待修改的資料沒有分離。
還有另外一種寫法(欄位多的時候寫的時候方便,書寫效率高些;欄位少的時候感覺不出來):
update student
set (name, age, birthday, address) =
(select '王大錘', 49, to_date('19710206','yyyymmdd'), '廣州市越秀區' from dual)
where id = 1
多表級聯更新語法為:
update tablea a set a.col1 = (select b.col1 from tableb b where b.col2 = a.col2),
a.col3 = (select c.col1 from tablec c where c.col2 = a.col2)
where condition
該語句作用就是當tablea中col2列的值等於tableb中col2列的值時,那麼將tablea所在行的col1的值設定為tableb相應行的col1的值,當tablea中col2列的值等於tablec中col2列的值時,那麼將tablea所在行的col1的值設定為tablec相應行的col1的值,換句話說就是將tabla中所有滿足a.col2=b.col2的行的col1列的值設定為b對應的行的col1列的值,將tablea中所有滿足a.col3=c.col1的行的col3列的值設定為c對應的行的col1列的值。
oracle 多欄位 update語法為:
update table_a
set (a,b,c) =
(select a,b,c from table_b)
參考鏈結1:oracle中update語句修改多個字段參考鏈結2:oracle update 多表級聯更新
mysql查詢多欄位 mysql多欄位模糊查詢
在最近的乙個專案需要實現在mysql單錶多關鍵字模糊查詢,但這數個關鍵字並不一定都存在於某個字段。例如現有table表,其中有title,tag,description三個字段,分別記錄一條資料的標題,標籤和介紹。然後根據使用者輸入的查詢請求,將輸入的字串通過空格分割為多個關鍵字,再在這三個欄位中查...
lucene多欄位查詢
booleanquery typenegativesearch new booleanquery queryparser parser new queryparser contents new analyzer parser.setdefaultoperator queryparser.and op...
lucene多欄位查詢
我的例子就是2.0的,現在給你的是兩個域,你可以用n個域 booleanquery typenegativesearch new booleanquery queryparser parser new queryparser contents new analyzer parser.setdefau...