MySQL——增
- 可以省略表定义中允许NULL值(无值或空值)或给出默认值的列,其他列不能省略,否则插入将失败并报错。
INSERT [LOW_PRIORITY] INTO table_name(c1, c2, c3, c4, c5)
VALUES('a', 'b', 'c', 'd', 'e'),('1', '2', '3', '4', '5');
LOW_PRIORITY 表示降低INSERT语句的优先级
因为一般以查为主,这样可以避免影响查的性能,这也适用于改和删。
或者使用INSERT SELECT
,将一条SELECT
语句的结果插入表中。
INSERT INTO table_name(c1, c2, c3, c4, c5)
SELECT c3, c1, c5, c4, c2
FROM table_old;
可以包含WHERE子句以过滤插入的数据。
MySQL——改
除非要修改所有行,否则别忘了WHERE
子句。
UPDATE [IGNORE] table_name
SET c1 = 100,
c2 = 150
WHERE c3 = 'Android';
IGNORE 表示即使发生错误,也继续更新。
或者
UPDATE table_name
SET c1 = NULL
WHERE c2 = 0;
假如表定义允许NULL值,这样可以删除列值c1。
MySQL——删
除非要删除所有行,否则别忘了WHERE
子句。
DELETE FROM table_name
WHERE c1 = 100;
如果想删除所有行,不要用DELETE
,这是逐行删除,速度慢!
可以使用TRUNCATE table_name
语句,它删除原来的表,并重新创建一张表,速度快!