数据的CRUD操作中, R(Retrieve, 查询)因为比较复杂, 我用单独几篇笔记来讲. 这篇笔记主要讲增, 删, 改.
增: 插入数据
INSERT INTO 表名
INSERT INTO Table
VALUES('值1'
'值2'
'值3'
NULL)
上述情况下,Table中有几个列,VALUES中就应该有几个值,顺序不可变
也可以使用INSERT INTO 表名 ( )
, 在括号里指定要插入的列名. 再与VALUES( )
括号里的值名一一对应起来.
INSERT INTO Table (
column1,
column3,
column2,
column4
)
VALUES('值1'
'值2'
'值3'
NULL)
顺序自己指定,一一对应
可以只插入部分列,省略的列在两个括号里都不写就行了
增: 复制数据
如果需要将一个表中的数据插入另一个表, 我们可以使用INSERT SELECT
语句, 它有以下几个特点:
– INSERT SELECT可将一个表中的数据插入另一个表
– INSERT通常情况下只插入一行, INSERT SELECT一次可以插入多行
– 列名不需要一一对应
举例如下:
-- 将Table2全部插入Table1
INSERT INTO Table1 (
column1,
column3,
column2,
column4
)
SELECT column1,
column3,
column2,
column4
FROM Table2;
增: 复制数据到新建的表
使用SELECT INTO
语句复制数据到新建的表
-- 创建Table1,将Table2内容加进去
SELECT *
INTO Table1
FROM Table2
特别地, 对于MySQL, SQLite, 使用如下语句:
-- 创建Table2,将Table1内容加进去
CREATE TABLE Table2 AS
SELECT * FROM Table1;
删: 删除数据
DELETE FROM Table
WHERE 条件
注意: 不设WHERE语句将会删除表中所有数据, 通常我们将其称为”删库跑路”
改: 更新
UPDATE Table
SET column1 = 'xxx',
column2 = 'xxx'
WHERE 条件
- 如果不设where条件,将更新所有行
- 更新多列时,set后的等式用
,
隔开