插入记录
//必须给出表中所有列的值,缺一个都不行
INSERT INTO 表名 VALUES(列1值,列2值, ..., 列n值);
//批量插入
INSERT INTO
first_table(first_column, second_column)
VALUES(7, 'ggg'),
(8, 'hhh'),
(9, 'jjj');
将查询结果插入表中
播入INSERT语句指定的列要和查询列表中的列一一对应。
INSERT INTO second_table(s, i)
SELECT first_column, second_column
FROM first_table
WHERE first_column < 5;
插入或忽略
对于一些是主键或者具有唯一性约束的列或者列组合来说,它们不允许重复值的出现,插入时容易报错。
//insert ignore 会自动忽略不符约束的插入
INSERT IGNORE INTO first_table(first_column, second_column)
VALUES(11111, '哇哈哈') ;
插入或更新
对于主键或者有唯一性约束的列或列组合来说,
新插入的记录如果和表中已有的记录重复的话,
可以选择的策略不仅仅是忽略这次插入,
也可以选择更新这条重复的记录。
INSERT INTO first_table (first_column, second_column)
VALUES(1, '哇哈哈')
ON DUPLICATE KEY UPDATE second_column = '雪碧';
//VALUES(列名)的形式来替代显式把值写出来的形式
INSERT INTO first_table (first_column, second_column)
VALUES(1, '哇哈哈') ON DUPLICATE KEY UPDATE second_column = VALUES(second_column);
INSERT INTO first_table (first_column, second_column)
VALUES(2, '红牛'),
(3, '橙汁儿')
ON DUPLICATE KEY UPDATE second_column = VALUES(second_column);
删除数据
DELETE FROM 表名 [WHERE 布尔表达式];
DELETE FROM second_table; //脑抽
更新数据
UPDATE 表名 SET 列1=值1, 列2=值2, ..., 列n=值n
[WHERE 布尔表达式];
UPDATE first_table
SET first_column = 5,
second_column = '乳娃娃'
WHERE first_column IS NULL;
网友评论