Hello
一. 插入数据
关键词:INSERT INTO
包括以下内容:
- 插入方式
- 要点
- 语法
- 插入方式
1.插入单行
2.插入部分行
3.插入多行
4.插入查询结果
- 要点
1.认知误区——插入只能新增数据,不能覆盖数据。
2.最佳实践——明确指定要插入的列名。
3.可以在INSERT和INTO之间添加LOW_PRIORITY,指示MySQL降低INSERT语句的优先级,同样适用于UPDATE、DELETE
- 插入单行
INSERT INTO tb(
field1,
field2,
field3
...
)
VALUES(
value1,
value2,
value3
...
);
- 插入部分行
语法与上面相同,注意事项:
1.被忽略的字段,必须允许NULL或有给定默认值。
- 插入多行
INSERT INTO tb(
field1,
field2,
field3
...
)
VALUES(
value1,
value2,
value3
...
),
(
value1,
value2,
value3
...
)...
注意事项:
1.合并的INSERT语句,必须保证列名次序相同。
- 插入查询结果
INSERT INTO tb1(
field,
...
)
SELECT field,
...
FROM tb2;
注意事项:
1.合并表时,不要写主键(两表重复的主键会导致失败)。
2.字段的数据类型、数量一致。
3.MySQL不关心检索的列名,它是根据列的位置,进行对应的插入。
二. 更新数据
关键词:UPDATE、SET
包括以下内容:
- 更新方式
- 要点
- 语法
- 更新方式
1.更新特定行
2.更新所有行
- 要点
1.特别注意——除非更新所有行,否则不要忽略WHERE条件子句。
2.错误忽略——更新多行时,如果发生错误,整个更新都会被还原。可以指定IGNORE忽略错误,继续更新。
- 语法
// 默认语法
UPDATE tb
SET field1 = value1,
field2 = value2,
...
WHERE condition
// 忽略错误的更新
UPDATE IGNORE tb
SET field1 = value1,
field2 = value2,
...
WHERE condition
三. 删除数据
关键词:DELETE FROM
包括以下内容:
- 删除方式
- 要点
- 语法
- 删除方式
1.删除特定行
2.删除所有行
- 要点
1.特别注意——除非删除所有行,否则不要忽略WHERE条件子句。
2.认知错误——DELETE只能用来删除行,不能删除列。
3.更快的删除所有行——可以使用TRUNCATE,它的原理是删除表,再重新创建表。
- 语法
// 默认语法
DELETE FROM tb
WHERE condition;
// TRUNCATE
TRUNCATE TABLE tb;