mysql数据库入门教程(6):数据的增删改
前面兩篇博文介紹了數(shù)據(jù)庫的查詢
mysql數(shù)據(jù)庫入門教程(4):查詢講解大全
mysql數(shù)據(jù)庫入門教程(5):多表操作(連接查詢,子查詢,分頁查詢,聯(lián)合查詢)
今天介紹下數(shù)據(jù)庫的增刪改。
數(shù)據(jù)庫基本操作:增刪改查
#DML語言
/*
數(shù)據(jù)操作語言:
插入:insert
修改:update
刪除:delete
*/
1.增
插入語句的方式一
表已經(jīng)存在啦,我們需要往里面插入數(shù)據(jù)
/*
語法:
insert into 表名(列名,…) values(值1,…);
*/
先看下原始表格
#1.插入的值的類型要與列的類型一致或兼容
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(INT(13),'唐藝昕','女','1990-4-23','1898888888',NULL,2);#2.不可以為null的列必須插入值。可以為null的列如何插入值?
#方式一: INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(13,'唐藝昕','女','1990-4-23','1898888888',NULL,2); #方式二: INSERT INTO beauty(id,NAME,sex,phone) VALUES(15,'娜扎','女','1388888888');#3.列的順序是否可以調(diào)換
INSERT INTO beauty(NAME,sex,id,phone) VALUES('蔣欣','女',16,'110');#4.列數(shù)和值的個數(shù)必須一致
INSERT INTO beauty(NAME,sex,id,phone) VALUES('關(guān)曉彤','女',17,'110');#5.可以省略列名,默認(rèn)所有列,而且列的順序和表中列的順序一致
INSERT INTO beauty VALUES(18,'張飛','男',NULL,'119',NULL,NULL);#6 插入多行數(shù)據(jù)
INSERT INTO 表名 (字段1,字段2,字段3) values (數(shù)組1數(shù)據(jù),數(shù)組1數(shù)據(jù),數(shù)組1數(shù)據(jù)), (數(shù)組2數(shù)據(jù),數(shù)組2數(shù)據(jù),數(shù)組2數(shù)據(jù)), (數(shù)組3數(shù)據(jù),數(shù)組3數(shù)據(jù),數(shù)組3數(shù)據(jù)), (數(shù)組4數(shù)據(jù),數(shù)組4數(shù)據(jù),數(shù)組4數(shù)據(jù));
插入語句的方式二
/*
語法:
insert into 表名
set 列名=值,列名=值,…
*/
#兩種方式大pk ★
#1、方式一支持插入多行,方式二不支持
#2、方式一支持子查詢,方式二不支持
INSERT INTO beauty(id,NAME,phone) SELECT 26,'宋茜','11809866';INSERT INTO beauty(id,NAME,phone) SELECT id,boyname,'1234567' FROM boys WHERE id<3;2.改
/*
1.修改單表的記錄★
語法:
update 表名
set 列=新值,列=新值,…
where 篩選條件;
2.修改多表的記錄【補充】
語法:
sql92語法:
update 表1 別名,表2 別名
set 列=值,…
where 連接條件
and 篩選條件;
sql99語法:
update 表1 別名
inner|left|right join 表2 別名
on 連接條件
set 列=值,…
where 篩選條件;
*/
修改單表的記錄
#案例1:修改beauty表中姓唐的女神的電話為13899888899
修改多表的記錄
#案例 1:修改張無忌的女朋友的手機號為114UPDATE boys bo INNER JOIN beauty b ON bo.`id`=b.`boyfriend_id` SET b.`phone`='119',bo.`userCP`=1000 WHERE bo.`boyName`='張無忌';3.刪
/*
方式一:delete
語法:
1、單表的刪除【★】
delete from 表名 where 篩選條件
2、多表的刪除【補充】
sql92語法:
delete 表1的別名,表2的別名
from 表1 別名,表2 別名
where 連接條件
and 篩選條件;
sql99語法:
delete 表1的別名,表2的別名
from 表1 別名
inner|left|right join 表2 別名 on 連接條件
where 篩選條件;
方式二:truncate
語法:truncate table 表名;
*/
#方式一:delete
#1.單表的刪除
#案例:刪除手機號以9結(jié)尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%9'; SELECT * FROM beauty;#2.多表的刪除
DELETE b :表示只刪除表beauty
如果兩個表都刪,添加兩個表的別名
#方式二:truncate語句
#案例:將魅力值>100的男神信息刪除
TRUNCATE TABLE boys ;
#delete pk truncate【面試題★】
/*
1.delete 可以加where 條件,truncate不能加
2.truncate刪除,效率高一丟丟
3.假如要刪除的表中有自增長列,
如果用delete刪除后,再插入數(shù)據(jù),自增長列的值從斷點開始,
而truncate刪除后,再插入數(shù)據(jù),自增長列的值從1開始。
4.truncate刪除沒有返回值,delete刪除有返回值
5.truncate刪除不能回滾,delete刪除可以回滾.
*/
電氣專業(yè)的計算機萌新,寫博文不容易。如果你覺得本文對你有用,請點個贊支持下,謝謝。
總結(jié)
以上是生活随笔為你收集整理的mysql数据库入门教程(6):数据的增删改的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 200.00是多少人民币
- 下一篇: mysql数据库入门教程(7):库和表的