介绍
在这个实验中,我们将探索 PostgreSQL 中的基本数据操作。主要目标是学习如何使用基本的 SQL 命令来操作 PostgreSQL 数据库中的数据。
我们将从连接到数据库并创建一个包含 ID、姓名和部门列的 employees
表开始。然后,我们将学习如何使用 INSERT INTO
语句将数据插入到表中。接下来,我们将介绍如何使用 SELECT
查询数据、更新现有记录以及删除记录。这个实验提供了 PostgreSQL 中基本数据管理技术的实践介绍。
在这个实验中,我们将探索 PostgreSQL 中的基本数据操作。主要目标是学习如何使用基本的 SQL 命令来操作 PostgreSQL 数据库中的数据。
我们将从连接到数据库并创建一个包含 ID、姓名和部门列的 employees
表开始。然后,我们将学习如何使用 INSERT INTO
语句将数据插入到表中。接下来,我们将介绍如何使用 SELECT
查询数据、更新现有记录以及删除记录。这个实验提供了 PostgreSQL 中基本数据管理技术的实践介绍。
在这一步中,我们将学习如何在 PostgreSQL 中将数据插入到表中。插入数据是使用信息填充数据库的基本操作。我们将介绍基本语法,并提供示例来帮助你理解这个过程。
在我们开始之前,请确保你已经安装并运行了 PostgreSQL。你可以使用 psql
命令行工具连接到你的 PostgreSQL 服务器。
首先,让我们连接到数据库。打开你的终端并执行以下命令:
sudo -u postgres psql
现在我们已经连接到数据库,让我们创建一个名为 employees
的简单表(如果它还不存在)。这个表将存储有关员工的信息,例如他们的 ID、姓名和部门。
CREATE TABLE IF NOT EXISTS employees (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50)
);
这个 SQL 语句创建了一个名为 employees
的表,其中包含三列:
id
:一个整数,它随着每个新记录自动递增(使用 SERIAL
)。它也是表的主键(primary key)。name
:一个字符串(最多 50 个字符),用于存储员工的姓名。department
:一个字符串(最多 50 个字符),用于存储员工的部门。现在,让我们将一些数据插入到 employees
表中。我们将插入三个员工记录。
INSERT INTO employees (name, department) VALUES ('Alice Smith', 'Sales');
INSERT INTO employees (name, department) VALUES ('Bob Johnson', 'Marketing');
INSERT INTO employees (name, department) VALUES ('Charlie Brown', 'Engineering');
每个 INSERT INTO
语句都会向 employees
表添加一个新行。我们指定表名 (employees
) 和我们要将数据插入的列 (name
、department
)。 VALUES
关键字后跟我们要插入的实际数据,用括号括起来。
为了验证数据是否已正确插入,我们可以使用 SELECT
语句查询 employees
表。
SELECT * FROM employees;
这将显示 employees
表中的所有行和列。你应该看到我们刚刚插入的三个员工记录。输出应该类似于这样:
id | name | department
----+---------------+------------
1 | Alice Smith | Sales
2 | Bob Johnson | Marketing
3 | Charlie Brown | Engineering
(3 rows)
你现在已经成功地将数据插入到 PostgreSQL 表中。你可以根据需要继续插入更多记录。
最后,通过键入以下内容退出 psql
shell:
\q
这将使你返回到终端。
在这一步中,我们将学习如何使用 SELECT
语句从 PostgreSQL 的表中查询数据。 SELECT
语句是从数据库中检索信息的基础。我们将介绍基本语法、过滤和排序,以帮助你掌握数据检索。
首先,确保你已连接到数据库。如果你尚未连接,请打开终端并执行以下命令:
sudo -u postgres psql
让我们学习如何选择特定的列。假设我们只想检索 name
和 department
列。
SELECT name, department FROM employees;
这个语句将只返回 employees
表中所有行的 name
和 department
列。输出应该类似于这样:
name | department
---------------+------------
Alice Smith | Sales
Bob Johnson | Marketing
Charlie Brown | Engineering
(3 rows)
现在,让我们添加一个 WHERE
子句来过滤结果。假设我们只想检索在 'Sales' 部门工作的员工。
SELECT name, department FROM employees WHERE department = 'Sales';
WHERE
子句指定了一个条件,只有满足该条件的行才会被包含在结果集中。在这种情况下,我们只选择 department
列等于 'Sales' 的行。输出应该是:
name | department
---------------+------------
Alice Smith | Sales
(1 row)
最后,让我们学习如何使用 ORDER BY
子句对结果进行排序。假设我们要检索所有员工,并按姓名升序排列。
SELECT name, department FROM employees ORDER BY name;
这个语句将返回 employees
表中的所有行,但结果将按 name
列的字母顺序排序。输出应该是:
name | department
---------------+------------
Alice Smith | Sales
Bob Johnson | Marketing
Charlie Brown | Engineering
(3 rows)
要按降序排列结果,你可以在列名后添加 DESC
关键字。
SELECT name, department FROM employees ORDER BY name DESC;
这将按反字母顺序对结果进行排序。
你现在已经学会了如何使用 SELECT
语句从 PostgreSQL 表中查询数据,包括如何选择特定列、使用 WHERE
子句过滤结果以及使用 ORDER BY
子句对结果进行排序。
最后,通过键入以下内容退出 psql
shell:
\q
在这一步中,我们将学习如何使用 UPDATE
语句更新 PostgreSQL 表中的现有记录。更新数据对于保持数据库信息的最新和准确至关重要。我们将介绍基本语法,并提供示例来帮助你理解这个过程。
首先,确保你已连接到数据库。如果你尚未连接,请打开终端并执行以下命令:
sudo -u postgres psql
让我们将 'Alice Smith' 的部门更新为 'Human Resources'(人力资源)。
UPDATE employees SET department = 'Human Resources' WHERE name = 'Alice Smith';
UPDATE
语句修改表中的现有行。 SET
子句指定要更新的列及其新值。 WHERE
子句指定要更新的行。在这种情况下,我们将 name
列等于 'Alice Smith' 的行的 department
列更新为 'Human Resources'。
为了验证更新是否成功,我们可以查询 employees
表。
SELECT * FROM employees WHERE name = 'Alice Smith';
这将显示 'Alice Smith' 的行,你应该看到 department
列已更新为 'Human Resources'。输出应该类似于这样:
id | name | department
----+---------------+------------------
1 | Alice Smith | Human Resources
(1 row)
你也可以一次更新多个列。例如,让我们将 Bob Johnson 的部门更新为 'Sales',并将他的姓名更新为 'Robert Johnson'。
UPDATE employees SET department = 'Sales', name = 'Robert Johnson' WHERE name = 'Bob Johnson';
这个语句更新了 name
列等于 'Bob Johnson' 的行的 department
和 name
列。
要验证更新,请再次查询 employees
表。
SELECT * FROM employees WHERE name = 'Robert Johnson';
输出应该是:
id | name | department
----+----------------+------------
2 | Robert Johnson | Sales
(1 row)
在使用 UPDATE
语句时要小心,尤其是在省略 WHERE
子句时。如果你省略 WHERE
子句,UPDATE
语句将更新表中的所有行。例如:
UPDATE employees SET department = 'Unknown';
这个语句会将 employees
表中每一行的 department
列设置为 'Unknown'。执行这样的语句时要非常小心。
你现在已经学会了如何使用 UPDATE
语句更新 PostgreSQL 表中的现有记录。
最后,通过键入以下内容退出 psql
shell:
\q
在这一步中,我们将学习如何使用 DELETE
语句从 PostgreSQL 表中删除记录。删除数据是从数据库中移除过时或不正确信息的重要操作。我们将介绍基本语法,并提供示例来帮助你理解这个过程。
首先,确保你已连接到数据库。如果你尚未连接,请打开终端并执行以下命令:
sudo -u postgres psql
让我们从 employees
表中删除 'Charlie Brown' 的记录。
DELETE FROM employees WHERE name = 'Charlie Brown';
DELETE FROM
语句从表中删除行。 WHERE
子句指定要删除的行。在这种情况下,我们删除 name
列等于 'Charlie Brown' 的行。
为了验证删除是否成功,我们可以查询 employees
表。
SELECT * FROM employees WHERE name = 'Charlie Brown';
这应该不返回任何行,表明 'Charlie Brown' 的记录已被删除。输出应该是:
id | name | department
----+------+------------
(0 rows)
你还可以通过使用更复杂的 WHERE
子句一次删除多行。例如,如果 'Marketing'(市场营销)部门有多个员工,你可以使用一个语句删除所有这些员工:
DELETE FROM employees WHERE department = 'Marketing';
在使用 DELETE
语句时,务必格外小心,尤其是在省略 WHERE
子句时。如果你省略 WHERE
子句,DELETE
语句将删除表中的所有行。例如:
DELETE FROM employees;
这个语句会删除 employees
表中的每一行,从而有效地清空该表。在执行这样的语句之前,请绝对确定你要删除所有行。
你现在已经学会了如何使用 DELETE
语句从 PostgreSQL 表中删除记录。
检查 employees
表以验证删除是否成功。
SELECT * FROM employees;
输出应该是:
id | name | department
----+------+------------
(0 rows)
最后,通过键入以下内容退出 psql
shell:
\q
在这个实验中,我们介绍了 PostgreSQL 中的基本数据操作,重点是将数据插入到表中。我们首先使用 psql
命令行工具连接到数据库。然后,我们创建了一个 employees
表,其中包含 id
、name
和 department
列,并将 id
指定为主键,并具有自动递增功能。
最后,我们使用 INSERT INTO
语句将三个员工记录插入到 employees
表中,指定表名和要插入数据的列,以及每个记录的相应值。这演示了使用数据填充 PostgreSQL 表的基本语法。