WM Blog

SQL10:对行数据的增删改

Word count: 552Reading time: 1 min
2020/07/29 Share

之前讲的都是如歌在数据库中查找,从现在要开始学习如何对数据进行操作了。

Schema 是什么

我们之前说的数据库表格是一个二位的行列集合,行对应数据实体,列对应属性。在SQL中,数据库 Schema 描述的是每个表的结构以及表中的每列数据可以存储的类型。比如电影表中,Year必须是整数而Title必须是字符串。这种固定的结构才让查询变得高效。

插入数据

我们必须用 INSERT 来声明插入哪一个表以及我们插入的是一行还是多行。一般情况下,每一行你插入的数据需要包含每一个对应的列值,你可以一次插入多行数据只需要把他们按顺序写。

1
2
3
4
INSERT INTO mytable
VALUES (value_or_expr, another_value_or_expr, …),
(value_or_expr_2, another_value_or_expr_2, …),
…;

在某些情况下,你插入的数据不完整或者支持默认值的时候你可以只插入指定列的数据。

1
2
3
4
5
INSERT INTO mytable
(column, another_column, …)
VALUES (value_or_expr, another_value_or_expr, …),
(value_or_expr_2, another_value_or_expr_2, …),
…;

此外,你也可以在插入的数据时使用表达式,这样可以用来确保你插入的数据都是特定的格式。

1
2
3
INSERT INTO boxoffice
(movie_id, rating, sales_in_millions)
VALUES (1, 9.9, 283742034 / 1000000);

更新行数据

除了增加之外另外一个经常使用的就是更新数据,可以使用 UPDATE 来完成,和 INSERT 很类似,你需要指定表,列以及行来更新,此外你更新的数据必须要符合数据库表结构指定好的数据类型。

1
2
3
4
5
UPDATE mytable
SET column = value_or_expr,
other_column = another_value_or_expr,

WHERE condition;

注意:更新前最好使用 SELECT 语句包含 WHERE 限制条件来测试是不是你想要更新的数据以免搞错。

删除行数据

当你想在表中删除数据的时候,你可以使用 DELETE 语句。

1
2
DELETE FROM mytable
WHERE condition;

如果你不写 WHERE 语句那么你这表中的所有行数据都会被删除,这是一个非常快的方法来清空表中所有的数据。
注意:在执行 DELETE 执行也是最好使用 SELECT 来检查一下删除的是否是你想删除的。

CATALOG
  1. 1. Schema 是什么
  2. 2. 插入数据
  3. 3. 更新行数据
  4. 4. 删除行数据