MySQL學習筆記6(插入,更新,刪除資料)

2021-09-11 17:11:12 字數 2011 閱讀 3551

1插入完整的行

insert into customers

values (null,

'pep e. lapew',

'100 main street',

'los angeles',

'ca',

'90046',

'usa'

null,

null);

各個列必須以它們在表**現的次序填充。如果某個列沒有值(如上例最後兩列),應該使用null值。第一列為null是因為它是主鍵,由mysql自動增量。

這種語法簡單但不安全,因為高度依賴表中列的定義次序。

更安全的方法:

insert into customers(cust_name,

cust_city,

cust_state,

cust_zip,

cust_country,

cust_contact,

cust_email,

cust_address)

values ( 'pep e. lapew',

'los angeles',

'ca',

'90046',

'usa'

null,

null,

'100 main street');

values必須以指定的次序匹配指定的列名,不一定按各個列在實際表中的次序。優點是,即使表的結構改變,詞insert語句仍然可以正常工作。cust_id不需要出現在列表中(自動增量)。

省略列的條件

2插入多個行

insert into customers(cust_name,

cust_city,

cust_state,

cust_zip,

cust_country,

cust_address)

values (一堆與上述列

對應值),

values (另一堆與上述列

對應值);

3插入檢索出的資料

使用場景:假如你想從另一表(custnew)中合併客戶列表到你的customers表。

insert into customers(cust_id

cust_name,

cust_city,

cust_state,

cust_zip,

cust_country,

cust_address)

select   cust_id

cust_name,

cust_city,

cust_state,

cust_zip,

cust_country,

cust_address

from  custnew;

注意:必須保證cust_id值不重複(建立新錶時避開customers中已使用過的cust_id或省略這列在匯入時自動產生新值)

mysql不關心select返回的列名,它匹配的是列的位置。對於只用不同列名的表匯入資料時是非常有用的。

20更新和刪除資料

1更新更新客戶的cust_name和cust_email列:

update customers

set cust_name='the fudds',

cust_email='[email protected]'

where cust_id = 10005;

不要省略where,否則可能會更新表中所有行。

2刪除刪除客戶10006:

delete from customers

where cust_id = 10006;

如果沒有where,將刪除表中每個客戶。

delete語句從表中刪除所有行後,不刪除表本身。如果想刪除所有行,可使用truncate table語句。

mysql沒有撤銷,在對update和delete語句使用where之前,先用select語句進行測試確保是要更新或刪除的記錄,防止where子句不正確。

--------------------- 

原文: 

c 更新mysql資料 MySQL插入更新刪除資料

資料插入 插入完整的行 insert into customers values null,pep e.lapew 100 main street los angeles ca 90046 usa null null 此例子插入乙個新客戶到customers表。儲存到每個表列中的資料在values子...

Hibernate 資料的批量插入 更新和刪除

hibernate完全以物件導向的方式來運算元據庫,當程式裡以物件導向的方式操作持久化物件時,將被自動轉換為對資料庫的操作。例如呼叫session的delete 方法來刪除持久化物件,hibernate將負責刪除對應的資料記錄 當執行持久化物件的set方法時,hibernate將自動轉換為對應的up...

MySQL學習之插入 刪除 更新資料

一 插入資料 插入資料的方式 插入完整的記錄 插入記錄的一部分 插入多條記錄 插入另乙個查詢記錄 1 為表的所有字段插入記錄 insert int table name column list values value lists 1 指定所有欄位名 列名順序可以不是表所定義的順序,及插入資料時不需...