mysql 數(shù)據(jù)插入和更新及刪除詳情
1、插入
INSERT INTO customers( customers.cust_address, customers.cust_city, customers.cust_state, customers.cust_zip, customers.cust_country, customers.cust_contact, customers.cust_email ) VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL)
這樣就插入成功了。
在插入的時(shí)候?yàn)榱税踩鹨?jiàn),那么每次插入的時(shí)候應(yīng)該寫(xiě)好列名。不管使用哪種INSERT
語(yǔ)法,都必須給出VALUES
的正確數(shù)目。如果不提供列名,則必須給每個(gè)表列提供一個(gè)值。如果提供列名,則必須對(duì)每個(gè)列出的列給出一個(gè)值。如果不這樣,將產(chǎn)生一條錯(cuò)誤消息,相應(yīng)的行插入不成功。
省略列 如果表的定義允許,則可以在INSERT操作中省略某些列。
省略的列必須滿(mǎn)足以下某個(gè)條件
- 該列定義為允許NULL值(無(wú)值或空值)。
- 在表定義中給出默認(rèn)值。這表示如果不給出值,將使用默認(rèn)值
提高整體性能 數(shù)據(jù)庫(kù)經(jīng)常被多個(gè)客戶(hù)訪問(wèn),對(duì)處理什么請(qǐng)求以及用什么次序處理進(jìn)行管理是MySQL
的任務(wù)。
INSERT
操作可能很耗時(shí)(特別是有很多索引需要更新時(shí)),而且它可能降低等待處理的SELECT
語(yǔ)句的性能。
如果數(shù)據(jù)檢索是最重要的(通常是這樣),則你可以通過(guò)在INSE
RT和INTO
之間添加關(guān)鍵字LOW_PRIORITY
,指示MySQL
降低INSERT
語(yǔ)句的優(yōu)先級(jí)。
INSERT INTO customers( customers.cust_address, customers.cust_city, customers.cust_state, customers.cust_zip, customers.cust_country, customers.cust_contact, customers.cust_email ) VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL) ,('zhangsan','good','111','ca','dasdsa','usa',NULL) ,('zhangsan','good','111','ca','dasdsa','usa',NULL) ,('zhangsan','good','111','ca','dasdsa','usa',NULL)
如果想插入多行,只需要加入多個(gè)values
即可。
INSERT
一般用來(lái)給表插入一個(gè)指定列值的行。但是,INSERT
還存在另一種形式,可以利用它將一條SELECT
語(yǔ)句的結(jié)果插入表中。
這就是所謂的INSERT SELECT
,顧名思義,它是由一條INSERT
語(yǔ)句和一條SELECT
語(yǔ)句組成的。
假如你想從另一表中合并客戶(hù)列表到你的customers
表。不需要每次讀取一行,然后再將它用INSERT
插入,可以如下進(jìn)行:
insert into customers(xx,xx,xx) select xx,xx,xx from newcustomers
差不多就是這樣的了。
INSERT SELECT
中的列名 為簡(jiǎn)單起見(jiàn),這個(gè)例子在INSERT
和SELECT
語(yǔ)句中使用了相同的列名。
但是,不一定要求列名匹配。事實(shí)上,MySQL
甚至不關(guān)心SELECT
返回的列名。
它使用的是列的位置,因此SELECT
中的第一列(不管其列名)將用來(lái)填充
表列中指定的第一個(gè)列,第二列將用來(lái)填充表列中指定的第二個(gè)列,如此等等。
這對(duì)于從使用不同列名的表中導(dǎo)入數(shù)據(jù)是非常有用的。
2、更新
為了更新(修改)表中的數(shù)據(jù),可使用UPDATE
語(yǔ)句。
可采用兩種方式使用UPDATE
:
- 更新表中特定行;
- 更新表中所有行。
UPDATE customers SET cust_email = 'email@qq.com' where cust_id = 10005;
上面這就是更新語(yǔ)句了。
如果更新多個(gè)列的話(huà):
UPDATE customers SET cust_email = 'email@qq.com', cust_name = 'game' where cust_id = 10005;
IGNORE
關(guān)鍵字 如果用UPDATE
語(yǔ)句更新多行,并且在更新這些行中的一行或多行時(shí)出一個(gè)現(xiàn)錯(cuò)誤,則整個(gè)UPDATE操作被取消(錯(cuò)誤發(fā)生前更新的所有行被恢復(fù)到它們?cè)瓉?lái)的值)。
為即使是發(fā)生錯(cuò)誤,也繼續(xù)進(jìn)行更新,可使用IGNORE
關(guān)鍵字,如下所示: UPDATE IGNORE customers…
這么說(shuō)明一下,如果確定只更新一行的話(huà),那么建議是更新是用update 1
這種模式,指明只更新一行。
為了從一個(gè)表中刪除(去掉)數(shù)據(jù),使用DELETE
語(yǔ)句。可以?xún)煞N方式使用DELETE
:
3、刪除
- 從表中刪除特定的行;
- 從表中刪除所有行。
刪除表的內(nèi)容而不是表 DELETE
語(yǔ)句從表中刪除行,甚至是
刪除表中所有行。但是,DELETE
不刪除表本身。
更快的刪除 如果想從表中刪除所有行,不要使用DELETE
。
可使用TRUNCATE TABLE
語(yǔ)句,它完成相同的工作,但速度更快(TRUNCATE
實(shí)際是刪除原來(lái)的表并重新創(chuàng)建一個(gè)表,而不是逐行刪除表中的數(shù)據(jù))
到此這篇關(guān)于mysql 數(shù)據(jù)插入和更新及刪除詳情的文章就介紹到這了,更多相關(guān)mysql 數(shù)據(jù)插入和更新及刪除內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS下將MySQL 5.1升級(jí)到MySQL 5.5的步驟
這篇文章主要介紹了CentOS下將MySQL 5.1升級(jí)到MySQL 5.5的步驟,需要的朋友可以參考下2015-08-08Mysql?optimize?table?時(shí)報(bào)錯(cuò):Temporary?file?write?fail的解決
這篇文章主要介紹了Mysql?optimize?table?時(shí)報(bào)錯(cuò):Temporary?file?write?fail的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09MySQL每晚定時(shí)彈出一個(gè)taskeng.exe的解決方法
這篇文章主要介紹了MySQL每晚定時(shí)彈出一個(gè)taskeng.exe的解決方法,需要的朋友可以參考下2018-07-07mysql獲取group by的總記錄行數(shù)另類(lèi)方法
mysql獲取group by內(nèi)部可以獲取到某字段的記錄分組統(tǒng)計(jì)總數(shù),而無(wú)法統(tǒng)計(jì)出分組的記錄數(shù),下面有個(gè)可行的方法,大家可以看看2014-10-10詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理
這篇文章主要介紹了詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2021-01-01MySQL數(shù)據(jù)庫(kù)聚合函數(shù)與分組查詢(xún)舉例詳解
在MySQL中聚合函數(shù)和分組查詢(xún)經(jīng)常一起使用,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)聚合函數(shù)與分組查詢(xún)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01percona-toolkit之pt-kill 殺掉mysql查詢(xún)或連接的方法
本文主要描述了percona-toolkit中pt-kill的 使用實(shí)例 ,及 一些重要參數(shù)的介紹,需要的朋友可以參考下2016-04-04Mysql使用kill命令解決死鎖問(wèn)題(殺死某條正在執(zhí)行的sql語(yǔ)句)
這篇文章主要介紹了Mysql使用kill命令解決死鎖問(wèn)題(殺死某條正在執(zhí)行的sql語(yǔ)句)的相關(guān)資料,需要的朋友可以參考下2017-06-06