導航:首頁 > 程序命令 > 資料庫更新命令

資料庫更新命令

發布時間:2023-06-04 02:28:11

1. 第八十二章 SQL命令 UPDATE(一)

為指定表中的指定列設置新值。

UPDATE 命令更改表中列的現有值。
可以直接更新表中的數據,也可以通過視圖進行更新,或者使用括在括弧中的子查詢進行更新。
通過視圖進行更新受制於需求和限制,如 CREATE view 中所述。

UPDATE 命令為包含這些列的一個或多個現有基錶行提供一個或多個新列值。
將數據值賦給列是使用值賦值語句完成的。
默認情況下,值賦值語句更新表中的所有行。

更常見的是, UPDATE 根據條件表達式指定對特定的行(或行)進行更新。
默認情況下, UPDATE 操作遍歷表中的所有行,並更新滿足條件表達式的所有行。
如果沒有行滿足條件表達式, UPDATE 將成功完成並設置 SQLCODE=100 (不再有數據)。

可以指定 WHERE 子句或 WHERE CURRENT OF 子句(但不能同時指定兩者)。
如果使用了 WHERE CURRENT OF 子句, UPDATE 將更新游標當前位置的記錄。
定位操作請參見 WHERE CURRENT OF 。

UPDATE 操作將 %ROWCOUNT 局部變數設置為更新的行數,將 %ROWID 局部變數設置為更新的最後一行的 ROWID 值。

默認情況下, UPDATE 操作是一個全有或全無事件。
要麼更新所有指定的行和列,要麼不更新。

INSERT OR UPDATE 語句是 INSERT 語句的變體,執行插入和更新操作。
首先,它嘗試執行一個插入操作。
如果插入請求失敗由於違反唯一鍵(欄位( s )的一些獨特的關鍵,存在這一行已經有相同的值( s )為插入指定的行),然後它會自動變成一個更新請求這一行,並插入或更新使用指定的欄位值來更新現有的行。

默認情況下,多行UPDATE是一個原子操作。
如果不能更新一行或多行,則 UPDATE 操作失敗,不會更新任何行。
IRIS設置 SQLCODE 變數,該變數指示 UPDATE 的成功或失敗,如果操作失敗,還設置 %msg 。
要更新表,更新必須滿足所有表、列名和值要求,如下所示。

表:

列名和值:

唯一的例外是將 SERIAL (%Library.Counter) 欄位添加到具有現有數據的表時。
對於這個添加的計數器欄位,現有的記錄將具有NULL值。
在這種情況下,可以使用 UPDATE 將 NULL 更改為整數值。

可以通過多種方式為指定的列分配新值。

當將標量表達式值賦給列列表時,每個指定的列必須有一個標量表達式。

在為隱式列列表賦值時,必須按照 DDL 中定義的列的順序為每個可更新欄位提供一個值。
(沒有指定不可更新的 RowID 列。)
這些值可以是指定新值的文字,也可以是指定現有值的欄位名。
不能指定佔位符逗號或省略尾隨欄位。

只能使用主機變數在嵌入式 SQL 中執行此值賦值。
與所有其他值賦值不同,這種用法允您延遲指定哪些列要更新到運行時(通過在運行時填充數組)。
所有其他類型的更新都要求必須在編譯時指定要更新的列。
此語法不能用於鏈接表;
嘗試這樣做會導致 SQLCODE=-155 錯誤。

2. SQL修改表數據的命令是什麼

SQL語言中修改表中數據的命令是update。

Update 語句用於修改表中原有的數據。單獨使用,使用where匹配欄位,set後面,更新欄位值,既可以一次一項,中櫻也可以一次多項。語法:UPDATE 表名稱 SET 列名稱1 = 新值,...,列名稱2 = 新值 WHERE 列名稱3 = 某值。

(2)資料庫更新命令擴展閱讀:櫻塌

Update 語句擴展應用:

更新某一行中賣頌叢的一個列的例子:將表中LastName是 "Wilson" 的元組的FirstName改為「Fred」:UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 。

更新某一行中的若干列的例子:將表中LastName是 "Wilson" 的元組的Addres改為「Zhongshan 23」City改為「Nanjing」:UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'。

3. 資料庫增刪改查的基本命令

以下是總結的mysql的常用語句,歡迎指正和補充~
一、創建庫,刪除庫,使用庫
1.創建資料庫:create database 庫名;

2.刪除資料庫:drop database 庫名;

3.使用資料庫:use 庫名;

二、創建數據表
1.創建表語句:create table 表名(欄位名1 欄位類型 欄位約束,欄位2 欄位類型 欄位約束...);

2.創建與現有表一樣欄位的新表:create table 表名 like 已有表名;

3.將查詢結果創建新表:create table 表名 select * from 現有表 where...(查詢語句);

三、查看錶結構,查看建表語句,刪除表
1.查看錶結構:desc 表名;

2.查看建表語句:show create table 表名;

3.刪除表:drop table 表名;

四、修改表結構
1.對數據表重命名:alter table 表名 rename 新表名;

2.增加欄位:alter table 表名 add 欄位名 欄位類型 欄位約束; (PS:可用first/after函數調整欄位位置)

3.刪除欄位:alter table 表名 drop 欄位名;

4.修改欄位類型及約束:alter table 表名 modify 欄位名 新類型 新約束;(PS:如不加新約束,會將建表時的約束清空,主鍵、外鍵、唯一約束除外)

5.修改欄位名稱:alter table 表名 change 欄位名 新欄位名 新欄位類型 新約束條件;

6.修改資料庫引擎:alter table 表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB對經常修改表數據友好,MyISAM對經常查詢表友好)

7.增加主鍵:alter table 表名 add primary key(欄位名);

8.刪除主鍵:alter table 表名 drop primary key;

9.增加外鍵:alter table 表名 add constraint 外鍵名 foreign kek(欄位名) references 主表(主鍵);

10.刪除外鍵:alter table 表名 drop foreign key 外鍵名;

11.刪除唯一約束:alter table 表名 drop index 欄位名;

12.設置自動增長的初始位置:alter table 表名 auto_increment=n;

五、向表中插入數據
1.向表指定欄位插入多條數據:insert into 表名(欄位1,欄位2...) values(數據1,數據2...),(數據1,數據2...),(數據1,數據2...),(數據1,數據2...);

2.將查詢結果插入表:insert into 表名 select 欄位名 from 表名(查詢語句);

3.載入外部數據到表:Load data local infile 『數據路徑』Into table 表名 Fields terminated by 『分隔符』Ignored 1 lines;

六、更新表數據、刪除表數據
1.更改滿足條件的欄位數據:update 表名 set 欄位計算1,欄位計算2... where 條件;

2.刪除滿足條件的數據:delele from 表名 where 條件;

3.刪除所有數據:方式一:delete from 表名; 方式二:truncate table 表名; 方式一會逐條進行刪除,速度較慢,方式二直接刪除,速度快;另外對自增欄位,方式一不能重置自增欄位的初始位置,方式二可以重置自增欄位的其實位置;

閱讀全文

與資料庫更新命令相關的資料

熱點內容
zip內存壓縮 瀏覽:311
阿里雲99元伺服器不可以退款 瀏覽:337
linux下安裝vnc 瀏覽:656
微信圖片加密編輯可見 瀏覽:704
江恩操盤術pdf 瀏覽:929
本機構所屬的伺服器是什麼意思 瀏覽:783
c編譯器有哪些段 瀏覽:862
qq原創表情在哪個文件夾 瀏覽:624
點點賺app現在怎麼不能用了 瀏覽:363
網紅阿里程序員事件 瀏覽:203
演算法設計心得體會 瀏覽:117
java修改ip 瀏覽:150
php不需要編譯嗎 瀏覽:136
特斯拉新車如何用app控制 瀏覽:186
文檔拖到文件夾就不見了 瀏覽:815
標致308壓縮比是多少 瀏覽:751
伺服器和備用伺服器地址 瀏覽:928
程序員加班跳槽 瀏覽:708
青年員工在工作中如何化解壓力 瀏覽:604
包子解壓神器怎麼玩才爽 瀏覽:735