SQL裡SELECT和UPDATE語句的用法

2022-03-09 08:58:41 字數 2772 閱讀 2878

1樓:匿名使用者

select 欄位名(可以有多個,如果查詢所有欄位的話,可以用*號) from 表名 [where 欄位=查詢條件]後面的where條件可選。如:select * from jobs where job_desc>50select job_id from jobsupdate:

update 表名 set 列名=更新值 [where+條件,和select 一樣,可以有多個條件]如:update jobs set job_desc=150 where job_id=12當不寫後面的where條件時,update操作針對所有欄位。如:

update jobs set job_desc=100這句話執行後,jobs表中job_desc欄位的所有值都會被改為100。想學習的話,建議去 www.csdn.

net和 www.chinaz.com。

很好的地方。

2樓:匿名使用者

update主要用來更新表中的資料;

語法為:update tablename set filedname=newvalue[where condition]

tablename為表名,filedname是欄位名稱,newvalue是更新後的資料,後面where condition是可選的,不選這個將更新這個列的所有資料;

舉個例子:

update employee set department='網路部'; 這句就是把employee表中的department欄位全部更新為'網路部

update employee set department='網路部' where id='karl'; 這句就是把employee表中id 為'karl'的department欄位更新為'網路部

select 用來查詢

select *from table name where ...

sql的select和update語句求教、、、

3樓:死後是好人

這個因為是資料不斷進入的,貌似用鎖也不太好使吧

那麼我給你個建議好了,這個標誌位不要光0和1了,再加上2好了

0是已經處理過,並且更改記錄,1是未處理,未記錄,2是未處理,已經記錄

讀取新資料的時候,先update carinfo set flag=2 where flag=1 ,這樣將這一批資料置2

然後select * from carinfo where flag=2 選出這一批資料,然後處理什麼的

然後再update carinfo set flag=0 where flag=2

這樣這一批正在處理的資料處理完後更新標誌位的時候就不會影響後面新進來的資料的標誌位了!甚至你可以把標誌位已經置為2的這批資料轉移到另一個「同源的歷史記錄表中」,也同樣不影響,而且還能夠使查詢效率不會因為大量的歷史記錄而不斷降低

你的意思不也正是一批一批的處理資料麼,這樣一批一批的而不是每一次有資料進入都處理可以大幅度提高效能,你甚至可以設一個始終,每過一陣子,大概一次積攢多少資料一次處理

4樓:匿名使用者

update carinfo set flag=0 where flag=1

5樓:消失

你把插入的flag的初始值改為0啦,或者直接將表中所有的flag=1 upate flag=0啦

6樓:雪落海

把flag欄位的預設值設為1,查詢後面跟一句update carlnfo set flag=0 where flag=1

7樓:匿名使用者

只提取後插入的資料進行更新,是這個意思麼? update carinfo t set flag=0 where rowid in(select max(rowid) from carinfo p where t.carid=p.

carid and t.flag=1);

8樓:匿名使用者

用遊標處理這個問題不恰當,遊標是為了動態得到每一條記錄

這個問題觸發器最好,只要新插入資料的時候,用觸發器設定flag=0

9樓:謇霜

描述的不夠清楚···無法解答啊·

如何使用update語句直接更新通過select出來的結果集中的某個欄位?(同一個表)

10樓:匿名使用者

如果想實現這個修改update barcode set colorid = 'b' where goodis between 100 and 110就行了

如果是不能用一個簡單的where查詢完成

需要把查詢結果指定一個新的表名

mysql是不支援同一個sql語句中update或delete同一個表的select結果的

語句如下:

update barcode

set colorid='b'

where colorid in

(select colorid from (select * from barcode where goodis between 100 and 110) as a);

11樓:匿名使用者

update barcode set colorid = 'b' where goodis between 100 and 110

結果集是個記憶體中的臨時表,更新了有意義嗎。

12樓:匿名使用者

update colorid='b' where goodis between 100 and 110

關於在sql的select查詢結果中加入自定義字元的問題

很簡單的.select 會員 id as id,name from user 記得 如果你真用user作表名,得用 user 遮蔽系統關鍵字user oracle 啊.那當然是不能用了 oracle我也不是很熟 你試試 select concat 會員 id id,name from user 有的...

下列SQL中的select語句中的a是什麼意思

把 select convert varchar,checktime,112 as ckdate from r weibouser bar where flag 0 and type 1 的查詢結果作為a表,這樣的好處是可以直接引用。舉個例子來說明,如果 這一句有有幾個回id出現,要答麼a表查詢出來...

select語句中的問號是什麼意思sql select

這是preparedstatement的用法,sql字串中包含問號 這些問號標明變數的位置,然後提供變數的值,最後執行語句,例如 stringsql select from people p where p.id and p.name preparedstatement ps connection....