『壹』 第八十二章 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 錯誤。
『貳』 修改表結構的sql命令
SQL語句中修改表結構的命令是ALTER TABLE。ALTER TABLE 語句用於在已有的表中添加、修改或刪除列。
案例:表結構CREATE TABLE `login_user` ( `id` int(32) NOT NULL AUTO_INCREMENT, `name` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名字'。
sql命令:
1、update :用於更新表中的數據
update table_name
set goods_name=a,goods_id=b,...
WHEREsome_column=some_value;
2、delete:用於刪除表中的行
delete from table_name where some_column=some_value;
註:where語句是指定哪條記錄被更新,如果省略了則所有記錄都被更新。
『叄』 SQL語言中修改表中數據的命令是什麼
SQL語言中修改表中數據的命令可以使用update。
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值;
更新修改語句 update table_name set col_name = xx where col_name = oo。
(3)資料庫更新表的命令擴展閱讀
SQL語言修改資料庫,移動資料庫文件
ALTER DATABASE Publish SET OFFLINE/*將Publish資料庫設置為離線(離線)狀態*/
ALTER DATABASE Publish
MODIFY FILE
(
NAME = 'Publish_n1'
FILENAME = 'D:Publish.ndf'
) /*資料庫文件位置*/
ALTER DATABASE Publish SET ONLINE/*將資料庫設置為聯機狀態*/
『肆』 、SQL語言中,刪除、創建基本表的命令,刪除、更新、增加數據的命令
創建資料庫:Create database bookstore;刪除資料庫:drop database bookstore;UPDATE databases是更新資料庫。
『伍』 VFP的update和replace有什麼不同
update是SQL中的數據更新命令,replace是VF中的數據更新命令。
update不需要打開表,repl命令需要先打開表。
update不加條件是更新表中所有記錄,repl不加條件是更新當前記錄,要加上all短語才是更新所有記錄。update好象只適用於VFP8.0以上。
『陸』 表數據修改的sql命令,必須有的關鍵詞分別是
表數據修改的sql命令是update,只有update語句才可以更新資料庫中表數據的內容。
『柒』 MySQL更新2個表裡面數據的命令(向大神們請教)
假設你要更新 ID =1,如果用MYSQL是可以實現的(目判州數前只有MYSQL支持這樣的語法)。參考下面的語法。
UPDATE employee t1,info t2
SET t1.name='abc'掘首, t1.password='123', t2.tell='123456', t2.address='zxy'
WHERE t1.ID=t2.ID and t1.ID = 1;
但是按照SQL標准,在其它資料庫里SQL 語句不支持 用UPDATE來同時更新兩張表。你這么做可移植性不好。而且和跡鍵拆成兩條來比較也沒優勢的地方。
用其它資料庫你必須拆成兩條UPDATE,假設你要更新 ID =1的 一個人的兩部分信息那麼可以參考下面的方法。
UPDATE employee SET name='abc', password='123', WHERE ID = 1
UPDATE info SET tell='123456', address='zxy' WHERE ID = (select ID from employee where ID=1);
『捌』 mysql更新表的語句有哪些
update set命令用來修改表中的數據。update set命令格式:笑搏update 表名 set 欄位=新值,… where 條件。
舉例如下:mysql> update MyClass set name='Mary' where id=1;單表的MySQL UPDATE語句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [col_name2=expr2] [WHERE where_definition] [ORDER BY] [LIMIT row_count]。
多表的UPDATE語句:UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2] [WHERE where_definition]。
UPDATE語法可以用新值更新原有錶行中的各列。SET子句指示要修改哪些列和要給予哪些值。WHERE子句指定應更新哪些行。如果沒有WHERE子句,則更新所有的行。如果指定宏升枯了ORDER BY子句,則按照被蔽洞指定的順序對行進行更新。LIMIT子句用於給定一個限值,限制可以被更新的行的數目。
『玖』 資料庫增刪改查的基本命令
以下是總結的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 表名; 方式一會逐條進行刪除,速度較慢,方式二直接刪除,速度快;另外對自增欄位,方式一不能重置自增欄位的初始位置,方式二可以重置自增欄位的其實位置;
『拾』 如何:更新資料庫中的記錄
可以使用 TableAdapter.Update 方法更新(編輯)資料庫中的記錄。 TableAdapter.Update 方法根據傳入的參數提供了若干次執行不同操作的重載。 了解調用這些不同方法簽名的結果非常重要。 說明 如果您的應用程序不使用 TableAdapter,您就可以使用命令裂橘對象更新資料庫中的記錄(例如, ExecuteNonQuery)。 有關使用命令對象更新數據的更多信息,請參見下面的「使用命令對象更新記錄」。 下表描述了各種 TableAdapter.Update 方法的行為: 方法 說明TableAdapter.Update(DataTable) 嘗試將 DataTable 中的所有更改保存到資料庫中。 (這包括從表中移除所有刪除的行、將插入的行添加到表中、更新表中已更改的所有行。) TableAdapter.Update(DataSet) 雖然該參數帶有一個數據集,但 TableAdapter 仍嘗試將 TableAdapter 的關聯 DataTable 中的所有更改保存到資料庫中。 (這包括從表中移除所有刪除的行、將插入的行添加到表中、更新表中已更改的所有行。) 說明 TableAdapter 的關聯 DataTable 是最初配置 TableAdapter 時創建的 DataTable。 TableAdapter.Update(DataRow) 嘗試將指示 DataRow 中的更改保存到資料庫中。 TableAdapter.Update(DataRows()) 嘗試將 DataRow 數組中任意行中的更改保存到資料庫中。 TableAdapter.Update("new column values", "original column values") 嘗試保存由原始列值標識的單行中的更改。 通常,當應用程序使用數據集以獨占方式存儲數據時,您使用的是帶有 DataSet、 DataTable 或 DataRow 的TableAdapter.Update 方法。 通常,當應用程序使用對象存儲數據時,您使用的是帶有列值的 TableAdapter.Update 方法。 如果TableAdapter 沒有帶列值的 Update 方法,就表示已將 TableAdapter 配置為使用存儲過程,或者已將它的 GenerateDBDirectMethods 屬性設置為 false。 嘗試從 「數據集設計器」內將TableAdapter 的 GenerateDBDirectMethods 屬性設置為 true,然後保存該數據集以重新生成 TableAdapter。 如果判扒TableAdapter 仍沒有帶列值的 Update 方法,該表就可能沒有提供足夠多的架構信息以區分各行(例如,未在表中設置任何主鍵)。 使用TableAdapter 更新現有記錄 根據應用程序的需要,TableAdapter 提供了更新資料庫中記錄的不同方法。 如果應用程序使用數據集存儲數據,則可以在所需的 DataTable 中簡單地更新記錄,然後調用 TableAdapter.Update 方法並傳入 DataSet、 DataTable、 DataRow 或 DataRow 數組。 上表描述了不同的 Update 方法。 用帶有 DataSet、DataTable、DataRow 或 DataRows() 的 TableAdapter.Update 方法更新資料庫中的記錄 通過直接編輯 DataTable 中的 DataRow,掘源昌編輯所需的 DataTable 中的記錄。 有關更多信息,請參見 如何:編輯數據表中的行。 在 DataTable 中對行進行編輯後,請調用 TableAdapter.Update 方法。 通過傳入完整的 DataSet、 DataTable、 DataRow 數組或單個 DataRow,您可以控制要更新的數據量。 下面的代碼顯示如何編輯 DataTable 中的記錄,然後調用 TableAdapter.Update 方法將更改保存到資料庫中。 (此示例使用 Northwind 資料庫 Region 表。) ' Locate the row you want to update. Dim regionRow As NorthwindDataSet.RegionRow regionRow = NorthwindDataSet._Region.FindByRegionID(1) ' Assign the new value to the desired column. regionRow.RegionDescription = "East" ' Save the updated row to the database Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region) // Locate the row you want to update. NorthwindDataSet.RegionRow regionRow; regionRow = northwindDataSet.Region.FindByRegionID(1); // Assign the new value to the desired column. regionRow.RegionDescription = "East"; // Save the updated row to the database. this.regionTableAdapter.Update(this.northwindDataSet.Region); 如果應用程序使用對象存儲應用程序中的數據,您就可以使用 TableAdapter 的 DBDirect 方法將數據從對象中直接發送到資料庫。 這些方法可讓您將各列的單個值傳遞為方法參數。 調用此方法用傳入該方法的列值更新資料庫中的現有記錄。 以下過程使用 Northwind Region 表作為示例。 使用帶有列值的 TableAdapter.Update 方法更新資料庫中的記錄 調用TableAdapter 的 Update 方法,以參數的形式為每一列傳入新值和原始值。 說明 如果沒有實例可用,請實例化您要使用的 TableAdapter。 Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter.Update(1, "East", 1, "Eastern") NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdapters.RegionTableAdapter(); regionTableAdapter.Update(1, "East", 1, "Eastern"); 使用命令對象更新記錄 下面的示例使用命令對象直接更新資料庫中的現有記錄。 有關使用命令對象執行命令和存儲過程的更多信息,請參見 將數據獲取到應用程序。 以下過程使用 Northwind Region 表作為示例。 使用命令對象更新資料庫中的現有記錄 創建新的命令對象;設置它的 Connection、CommandType 和CommandText 屬性;然後打開一個連接,並執行該命令。 Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING") Dim cmd As New System.Data.SqlClient.SqlCommand cmd.CommandType = System.Data.CommandType.Text cmd.CommandText = "UPDATE Region SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID" cmd.Parameters.AddWithValue("@RegionDescription", "East") cmd.Parameters.AddWithValue("@RegionID", "1") cmd.Connection = sqlConnection1 sqlConnection1.Open() cmd.ExecuteNonQuery() sqlConnection1.Close() System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING"); System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "UPDATE Region SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID"; cmd.Parameters.AddWithValue("@RegionDescription", "East"); cmd.Parameters.AddWithValue("@RegionID", "1"); cmd.Connection = sqlConnection1; sqlConnection1.Open(); cmd.ExecuteNonQuery(); sqlConnection1.Close(); 安全性 您必須具有訪問正嘗試連接到的資料庫的許可權,以及更新所需表中記錄的許可權。 請參見任務 如何:刪除資料庫中的記錄 如何:將新記錄插入資料庫 如何:將數據從對象保存到資料庫概念 TableAdapter 概述 准備應用程序以接收數據 將數據獲取到應用程序 在Visual Studio 中將控制項綁定到數據 在應用程序中編輯數據 驗證數據 保存數據其他資源 Visual Studio 的數據應用程序概述 連接到 Visual Studio 中的數據