1. 程式人生 > ><MySQL>入門二 增刪改 DML

<MySQL>入門二 增刪改 DML

-- 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.刪除