数据库复习(5): 数据的增, 删, 改

数据的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后的等式用,隔开

发表评论

电子邮件地址不会被公开。 必填项已用*标注