<MySQL>入門二 增刪改 DML
阿新 • • 發佈:2018-12-11
-- DML語言 /* 資料操作的語言 插入:insert 修改:update 刪除:delete */
1.插入
-- 插入語句 /* 語法:insert into 表名(列名...) values(值...); */ -- 方式一 -- 1.插入值的型別要與列的型別一致或相容 INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,'麥克雷','男','1984.7.1','13535356464',NULL,2);-- 2.可以為Null的列如何插入值? -- 方式一 寫null值 -- 方式二 插入的欄位不寫 自動填充預設值或Null INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`boyfriend_id`) VALUES(13,'麥克雷','男','1984.7.1','13535356464',2); -- 3.列的順序是否可以調換,可以 -- 4.列數和值數必須一致 -- 5.可以省略列名,預設所有列,並且列的順序和表中的順序一致。 -- 方式二 /* insert into 表名 set 列名=值,列名=值...;*/ INSERT INTO beauty SET id=19,NAME='張飛',phone='110'; -- 兩種方式比較 -- 1.方式一支援多行插入,方式二不支援 INSERT INTO beauty VALUES(13,'麥克雷','男','1984.7.1','13535356464',NULL,2), VALUES(14,'天使','女','1999.6.1','120',NULL,3), ...; -- 2.方式一支援子查詢,方式二不支援 INSERT INTO beauty(id,NAME,phone) SELECT 55,'騷豬','13929292929';
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表中,姓蒼的電話為110 UPDATE beauty SET phone = '110' WHERE NAME LIKE '蒼%'; -- 2.修改boys表中id=2的名稱為張飛,魅力值為10 UPDATE boys SET boyName = '張飛',userCP = 10 WHERE id = 2; -- 修改多表記錄 -- 1.修改張無忌的女朋友的手機號為114 UPDATE boys bo JOIN beauty be ON bo.`id`=be.`boyfriend_id` SET be.`phone`='110' WHERE bo.`boyName`='張無忌'; -- 2.修改沒有男朋友的 女神的男朋友編號都為2號 UPDATE beauty SET boyfriend_id =2 WHERE boyfriend_id IS NULL;
3.刪除