天天看點

mysql---插入語句

#DML語言
/*
資料操作語言
插入:insert 
修改:update
删除:delete
*/
#一、插入語句(經典的一種)
/*
文法:
insert into 表名(列名,....) values (新值,...);

*/
#1.插入的值的類型要與列的類型一緻或相容
SELECT *
FROM `beauty`;
INSERT INTO  `beauty`(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES (13,'唐藝昕','女','1990-4-23','18738878777',NULL,2);
#2.不可以為null的列必須插入值,可以為null的列如何插入值?
#方式一
INSERT INTO  `beauty`(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES (13,'唐藝昕','女','1990-4-23','18738878777',NULL,2);
#方式二
INSERT INTO  `beauty`(`id`,`name`,`sex`,`borndate`,`phone`,`boyfriend_id`)
VALUES (14,'張張張','女','1990-4-23','18738878777',2);
#3.列的順序是否能夠被颠倒--沒問題
INSERT INTO `beauty`(`name`,`sex`,`id`,`phone`)
VALUES ('何歡','女','15','17633336666');
#4.列數和值得個數必須比對
INSERT INTO `beauty`(`name`,`sex`,`id`,`phone`,`boyfriend_id`)
VALUES ('林佳','女','16','17733356666');
#5.可以省略列名,預設所有列,列的順序和表中列的順序一緻
INSERT INTO `beauty`
VALUES (16,'泡芙','女','1998-12-12','18877779999',NULL,4);
#插入--方式二
/*
insert into 表名
set 列名等于值,列名=值,....
*/
INSERT INTO `beauty`
SET `id`=17,`name`='微微',phone='18877776666';

#兩種方式對比
#1.方式一支援一次性插入多行,方式二不支援
INSERT INTO `beauty`
VALUES(18,'鬼鬼','女','1990-5-23','18738878999',NULL,2),
(19,'芳華','女','1990-6-23','18738878333',NULL,3),
(20,'梅梅','女','1999-4-23','18738878888',NULL,1);

#2.方式一支援子查詢,方式二不支援
INSERT INTO `beauty`(id,NAME,phone)
SELECT 22,'玲珑','13353335432';

INSERT INTO `beauty`(id,NAME,phone)
SELECT id,`boyName`,'1335388'
FROM boys WHERE id<3;

           

繼續閱讀