MySQL筆記之修改數(shù)據(jù)的解決方法
數(shù)據(jù)庫(kù)通過插入、更新和刪除等方式來該表表中的記錄,其中
insert語(yǔ)句實(shí)現(xiàn)插入數(shù)據(jù)
update語(yǔ)句實(shí)現(xiàn)更新數(shù)據(jù)
delete語(yǔ)句實(shí)現(xiàn)刪除數(shù)據(jù)
參考表
不指定字段名插入
mysql> insert into person values(1,'張三','男',1988);
Query OK, 1 row affected, 1 warning (0.03 sec)
nsert into后面是表名,values后面是需要插入的數(shù)據(jù)
values中的數(shù)據(jù)必須與字段名相匹配,如第一字段為空值則輸入null,尾部可不輸入
需要注意的是,字符串?dāng)?shù)據(jù)必須用引號(hào)包裹
指定字段名插入
mysql> insert into person(id,name,sex,birth) values(6,'王芳','女',1992);
Query OK, 1 row affected, 1 warning (0.05 sec)
insert into 后面接表名和字段,此處的字段可調(diào)整位置
但一個(gè)必要條件是后面的values值必須與其字段對(duì)應(yīng)
同時(shí)插入多條數(shù)據(jù)
mysql> insert into person(id,name) values(8,'錢名'),(9,'章碩');
Query OK, 2 rows affected (0.04 sec)
Records: 2 Duplicates: 0 Warnings: 0
values后面用多個(gè)括號(hào)插入數(shù)據(jù),逗號(hào)隔開即可
至于插入的字段只需結(jié)合上面講的兩個(gè)例子使用
將查詢結(jié)果插入到表中
mysql> insert into person2(id,name,sex,birth) select * from person;
Query OK, 9 rows affected, 6 warnings (0.03 sec)
Records: 9 Duplicates: 0 Warnings: 6
這里要注意,插入的字段和表中的字段個(gè)數(shù)和數(shù)據(jù)類型必須一致,否則就會(huì)報(bào)錯(cuò)
復(fù)制一張表
mysql> CREATE TABLE per AS SELECT * FROM person;
Query OK, 1 row affected (0.16 sec)
Records: 1 Duplicates: 0 Warnings: 0
update+表名代表要更新的表,set后面設(shè)置需要更新的內(nèi)容
where用作限制更新條件,后面接表達(dá)式,只要表達(dá)式為真便滿足條件
Tips:where 1也能代表真,即全部滿足
多字段更新
mysql> update person set name='小紅',sex='女' where id=3;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
多字段更新只需要在set后面添加多個(gè)要修改的字段和數(shù)據(jù)即可,用逗號(hào)隔開
如果想更新所有記錄則無需加where
tips:使用update要特別小心,因?yàn)橛锌赡芏鄺l記錄滿足where條件
最好是先查看一邊表,確定要更新的記錄
刪除字段
刪除指定記錄
mysql> delete from person where id=9;
Query OK, 1 row affected (0.02 sec)
刪除記錄也需要跟上where限定
tips:除非你非常確定where子句只會(huì)刪除你想要?jiǎng)h除的行
否則都應(yīng)該用select來確認(rèn)情況
刪除所有記錄
mysql> delete from person;
Query OK, 8 rows affected (0.03 sec)
在不跟where限定條件的情況下即可逐條刪除所有記錄
此外還有truncate table語(yǔ)句,它會(huì)刪除原來的表,再重新建立,效率更高
tips:這里刪除不會(huì)要任何提示,說刪就刪了,快的很
所以使用的時(shí)候要格外小心,最好先把數(shù)據(jù)備份
相關(guān)文章
MySQL MyISAM 優(yōu)化設(shè)置點(diǎn)滴
MyISAM類型的表強(qiáng)調(diào)的是性能,其執(zhí)行數(shù)度比InnoDB類型更快, 只是不提供事務(wù)支持.大部分項(xiàng)目是讀多寫少的項(xiàng)目,而Myisam的讀性能是比innodb強(qiáng)不少的2016-05-05
MySQL中dd::columns表結(jié)構(gòu)轉(zhuǎn)table過程及應(yīng)用詳解
MySQL的dd表是用來存放表結(jié)構(gòu)和各種建表信息的,客戶端建的表都存在mysql.table和mysql.columns表里,還有一個(gè)表mysql.column_type_elements比較特殊,用來存放SET和ENUM類型的字段集合值信息,對(duì)mysql dd::columns表結(jié)構(gòu)相關(guān)知識(shí)感興趣的朋友一起看看吧2022-09-09
Centos7 安裝mysql 8.0.13(rpm)的教程詳解
這篇文章主要介紹了Centos7 安裝mysql 8.0.13(rpm)的教程詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
徹底搞懂?dāng)?shù)據(jù)庫(kù)操作truncate delete drop關(guān)鍵詞的區(qū)別
這篇文章主要為大家介紹了數(shù)據(jù)庫(kù)操作truncate delete drop關(guān)鍵詞的區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Mysql表創(chuàng)建外鍵報(bào)錯(cuò)解決方案
這篇文章主要介紹了Mysql表創(chuàng)建外鍵報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Mysql查詢語(yǔ)句執(zhí)行過程及運(yùn)行原理分析
這篇文章主要介紹了Mysql查詢語(yǔ)句執(zhí)行過程及運(yùn)行原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

