Linux系统下数据库增删改查

 2020-06-30 

Linux系统下数据库增删改查

      • 插入完整内容的行
      • 插入选定内容的行
      • 删除表中的指定行
      • 删除表中的所有行
      • 更新表中的指定行

INSERT 顾名思义,就是向表(table)中插入行。

插入完整内容的行

向表中插入数据最简单的方法,就是使用 INSERT 语句。 INSERT 语句需要你声明要插入内容的表名和内容。举个“栗子”!

假设我们现在要建立一张名为 Customers 的空表,建立过程如下:

1
2
3
4
5
6
7
8
9
10
USE TestDb
CREATE TABLE Customers
(
    cust_id int not null,
    cust_name varchar(32) not null,
    cust_city varchar(32) not null,
    cust_email varchar(32) null
)
--查看表内容
SELECT * FROM Customers

得到的空表是这样的:
在这里插入图片描述
接下来,我们要往空表中插入一条内容, 插入 (INSERT) 语句如下:

1
2
3
4
5
6
7
INSERT INTO Customers
VALUES (
    '1000000006',
    'Toy Land',
    'New York',
    NULL
)

如图所示,是我们得到的结果,一条完整的内容已经被填入了空表中。
在这里插入图片描述

分析:
在这个例子中,我们把消费者的信息 (values) 依序插入了 Customers 表中。可能有人已经注意到, INSERT INTO 后面只跟了一个表名,这就意味着,我们插入内容的时候必须是依序全内容插入,即使内容为空,也必须用空值 NULL 来填补。
在这里插入图片描述
这样的插入虽然简单,但是很危险。一旦表的结构变了,你就会插错内容。下述的方法虽然相对繁琐,其最大的优点就是安全。它列出了你想要插入内容所对应的字段(column),一一对应就不容易出错。
比如:我们换下字段(column) 的顺序,看看会不会成功。

1
2
3
4
5
6
7
8
9
10
11
12
INSERT INTO Customers(
    cust_id,
    cust_email,
    cust_name,
    cust_city
)
VALUES (
    '1000000006',
    NULL,
    'Toy Land',
    'New York'
)

即使打乱了顺序,这种方法也能将内容安全地插入。所以我们推荐写插入语句时,把字段(column)名也一并写进去。

插入选定内容的行

就像我刚才说的,把字段(column)名写入插入语句是个好办法!用这个方法,我们能忽略某些字段,只插入我们最关心的数据。

比如,我们忽略 cust_email ,为表 Customers 插入内容。

1
2
3
4
5
6
7
8
9
10
INSERT INTO Customers(
    cust_id,
    cust_name,
    cust_city
)
VALUES (
    '1000000006',
    'Toy Land',
    'New York'
)

删除表中的指定行

DELETE FROM 后面需要你指定删除内容所在的表, WHERE 语句是过滤语句,它用来帮你寻找哪条内容是你想要删除的。在下面的例子中,只有消费者 1000000006 的内容才会被删除。

1
DELETE FROM Customers WHERE cust_id=1000000006

删除表中的所有行

1
DELETE FROM Customers

如果需要删除表中所有的行,只需要省略 WHERE 语句即可。

更新表中的指定行

消费者 1000000005 之前没有在记录里留下他的 email ,如下图所示:
在这里插入图片描述
但是,现在他有了一个新邮箱,所以需要更新数据库里的数据,更新代码如下所示:

1
2
3
UPDATE Customers
SET cust_email = 'max@yahoo.com'
WHERE cust_id = '1000000005'