sql如何更新資料庫指定條件的前幾條資料

2021-03-05 12:30:04 字數 4449 閱讀 8748

1樓:匿名使用者

可用row_number來解決。

如student表:

姓名      年齡

張三       20

李四       15

王五       22

趙六       21

孫七       18

楊八       19

劉九       24

現在要按年齡從大到小取出前5條資料的話,可用如下語句:

select 姓名,年齡

from

(select 姓名,年齡,row_number() over (order by 年齡 desc) as rn from student) t

where rn<=5;

得到的結果是:

姓名      年齡

劉九       24

王五       22

趙六       21

張三       20

楊八       19

2樓:

若該字段值唯一:

update 表 set 字段=新值 where 字段 in (select top 10 字段 from 表);

sql中的update如何根據不同條件修改多條資料的同一列 10

3樓:娛樂小八卦啊

如果只需要更新乙個字段,mysql和oracle語法是一樣的,在 set 後面跟乙個子查詢即可。

現在需要同時更新內2個字段,最不容經過大腦思考的方法就是 「為每個 set 後面都跟乙個子查詢」,但是假如要 set 十個字段或者更多字段,很顯然,這樣在效能上是很不合適的方法。

同時更新多個欄位在mysql和oracle中的方法是不一樣,mysql需要連線表,oracle使用 set(...) 即可。

擴充套件資料

sql更新語句中update用法:

語法:update 表名稱 set 列名稱 = 新值 where 列名稱 = 某值

更新某一行中的乙個列

為 lastname 是 "wilson" 的人新增 firstname:

update person set firstname = 'fred' where lastname = 'wilson'

請注意 sql update 語句中的 where 子句!

where 子句規定哪條記錄或者哪些記錄需要更新。如果您省略了 where 子句,所有的記錄都將被更新!

4樓:匿名使用者

可以啊修改where條件

update abc set a=1 where id=1 or id=2

你給的例句有問題啊,表名abc,後面寫的是a.id

5樓:傲雪

update abc set abc.a=1 where a.id in (1,2),字元型別加''號

6樓:工業分析中

修改學生bai表中性別列,如果是du男,就修改zhi為1,如果是女就修改dao為0,其他情況為專2

請參照如下語屬句修改執行:

update student set *** = (case when ***='男' then 1 when ***='女' then 0 else 2 end) where 1=1

一條資料指定字段更新 sql語句怎麼寫?

7樓:匿名使用者

update 表名

抄 set 列名=更新的值 where 條件如 update table1 set name='jj' where id=1

如果要更新多列,只要update table1 set fristname='jj',lastname='tt' where id=1

8樓:匿名使用者

uedate 表名 set 列名=新值 where 條件(定位到行)!

一條sql update如何同時更新兩個欄位的值按不同條件

9樓:匿名使用者

能,但是你說的不清楚,寫個語句你看看,能否受到啟示。

update 表名 set 欄位1= case when 條件版1 then 1 else 0 end, 欄位2= case when 條件2 then 0 else 1 end

意思你理解了,權就會寫了,這裡的值我用1和0代替的,具體的看你的是啥了。

用case when 你去研究研究這個語法。呵呵。

sql 語句 以某乙個欄位為條件 修改某乙個欄位的值

10樓:匿名使用者

示例:表名: poetry ;字段:p_type;  條件:p_type='1001';

sql 語句: 「update poetry set p_type ='aaa' where p_type ='1001'」

11樓:浪子_回頭

最簡單的方法就是使用資料庫視覺化工具,直接在表中修改,如果沒有資料庫視覺化工具,就使用cmd命令修改。

cmd命令修改字段例子:

**名稱class,表頭name、id。

修改語句:把  高一三班  改為 高一五班updata class set name = '高一五班'

where  name = '高一三班';

12樓:大野瘦子

update table set col2=case when col1 條件1 then 值1 when col1 條件2 then 值2;

或者分為幾句修改

update table set col2=值1 where col1 條件1

update table set col2=值2 where col1 條件2

sql修改字段屬性總結

1、修改表中字段型別 可以修改列的型別,是否為空)

alter table [表名] alter column [列名] 型別

2、向表中新增字段

alter table [表名] add [列名] 型別

3、刪除字段

alter table [表名] drop column [列名]

4、新增主鍵

alter table [表名] add constraint [ 約束名] primary key( [列名])

5、新增唯一約束

alter table [表名] add constraint [ 約束名] unique([列名])

6、新增表中某列的預設值

alter table [表名] add constraint [約束名] default(預設值) for [列名]

7、新增約束

alter table [表名] add constraint [約束名] check (內容)

8、新增外來鍵約束

alter table [表名] add constraint [約束名] foreign key(列名) referencese 另一表名(列名)

9、刪除約束

alter table [表名] add constraint [約束名]

10、重新命名表

exec sp_rename 『[原表名]』,』[新錶名]』

11、重新命名列名

exec sp_rename 『[表名].[列名]』,』[表名].[新列名]』

13樓:匿名使用者

update table_name set col_name1=***x where col_name2='***';

table_name表名,col_name1要修改的欄位名 col_name2做為條件的欄位名,***值。

14樓:

--並表更新

--表tableb,tablea; 欄位col01,col02,col03

update tableb

set colb = a.col01 + a.col02from tablea a

where tableb.col03 = 特定字串and tableb.col01 = a.col01 --並表的條件

15樓:匿名使用者

能把問題說明白些嗎?不知道你到底什麼意思,我的理解答案給你看看是不是你想要的:

1.修改表a中,***為女的salary(工資)增加500update a set salary=salary+500where ***='女'

16樓:匿名使用者

update table set 字段=要修改的值

where 字段=過濾條件

17樓:匿名使用者

update [表名] set [列1] = [值1],[列2] = [值2] where [列3] = [值3]

資料庫sql如何完全備份,資料庫SQL 如何完全備份

1 點選開始選單,開啟sql企業管理器。2 依次sqlserver根目錄,並開啟資料庫。3 選擇要備份的資料庫名,滑鼠右鍵所有任務 備份資料庫。4 這裡需要注意,如果之前有備份的話,一定要先刪除之前的備份記錄,不用擔心只是刪除記錄而不是刪除備份檔案。5 刪除記錄再點新增。6 選擇備份目的,就是要讓你...

資料庫備份恢復,SQL資料庫如何自動備份和恢復?

1 建立乙個新的資料庫 2 右擊資料庫 所有任務 還原資料庫 從裝置 選擇裝置 新增 瀏覽備份檔案 3 指定還原為資料庫名稱 注意 如果提示問題,可在選項卡片中勾選強制還原。1.在資料庫管理器中,右擊資料庫名,然後點所有任務,備份資料庫,輸入乙個想備份的名字並選擇乙個地方放置。2.把已經備份好的資料...

資料庫SQL查詢語句的編寫,SQL中多條件同時查詢語句怎麼寫?

select max id from 表 where num 100 查最大id select from 表 where id select max id from 表 where num 100 and num 100 查id最大並且num為100的那條資料 sql select 語句 selec...