15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用
30.10.2024
1 +1

基础SQL命令:数据库管理完全初学者指南

SQL(结构化查询语言)是与关系数据库交互的通用标准。无论您使用 MySQL、PostgreSQL 还是 SQLite,掌握 SQL 命令是开发人员、数据分析师、系统管理员以及任何管理数据驱动应用程序的人员必不可少的技能。在本综合指南中,我们将引导您了解每个初学者必须知道的最基本的 SQL 命令 — 包括语法解释、实际示例和最佳实践。

如果您正在寻找一个可靠的环境来练习和部署基于 SQL 的应用程序,AlexHost 的 VPS 托管 提供强大的高性能基础设施和完整的 root 访问权限,非常适合运行 MySQL、PostgreSQL 和其他关系数据库系统。

什么是 SQL 以及为什么它很重要?

SQL 是互联网上几乎所有数据驱动应用程序的支柱。从电子商务平台和内容管理系统到企业分析仪表板,关系数据库为数据层提供支持 — SQL 是您用来与它们通信的语言。

理解 SQL 命令允许您:

  • 创建和构建数据库模式
  • 精确地插入、更新和删除记录
  • 查询和检索您需要的确切数据
  • 维护和优化数据库以获得性能和可靠性

现在,让我们深入了解您需要开始使用的核心 SQL 命令。

1. SELECT — 从数据库检索数据

SELECT 语句可能是最常用的 SQL 命令。它允许您从数据库表中的一列或多列检索数据。

语法

SELECT column1, column2
FROM table_name;

要检索表中的所有列,请使用通配符 *

SELECT * FROM table_name;

示例

SELECT first_name, last_name
FROM employees;

此查询返回 first_namelast_name 列中 employees 表中每一行的数据。

专业提示

避免在生产环境中使用 SELECT *。显式命名列可以提高查询性能并使您的代码更易于维护。

2. INSERT INTO — 添加新记录

INSERT INTO 语句用于将新数据行添加到现有表中。

语法

INSERT INTO table_name (column1, column2)
VALUES (value1, value2);

示例

INSERT INTO employees (first_name, last_name)
VALUES ('John', 'Doe');

这会插入一条新的员工记录,名字为”John”,姓氏为”Doe”。

专业提示

始终在 INSERT INTO 语句中显式指定列名。这可以保护您的查询免受表结构更改的影响。

3. UPDATE — 修改现有记录

UPDATE 语句允许您修改表中已存在的数据。它几乎总是与 WHERE 子句结合使用以针对特定行。

语法

UPDATE table_name
SET column1 = value1
WHERE condition;

示例

UPDATE employees
SET last_name = 'Smith'
WHERE id = 1;

这会将 last_nameid = 1 的员工的 last_name 更新为”Smith”。

⚠️ 严重警告

除非您有意修改表中的每一行,否则永远不要在没有 WHERE 子句的情况下运行 UPDATE 语句。始终先使用 SELECT 查询测试您的 WHERE 条件。

4. DELETE — 从表中删除记录

DELETE 语句根据指定的条件从表中删除一行或多行。

语法

DELETE FROM table_name
WHERE condition;

示例

DELETE FROM employees
WHERE id = 1;

这会永久删除 id = 1 的员工记录。

⚠️ 严重警告

UPDATE 一样,没有 WHERE 子句的 DELETE 语句将删除表中的所有行。执行前始终仔细检查您的条件。考虑将破坏性操作包装在事务中,以便在需要时可以回滚。

5. CREATE TABLE — 定义新表

CREATE TABLE 语句用于在数据库中定义和创建新表。您指定每列的名称及其数据类型。

语法

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);

示例

CREATE TABLE employees (
    id          INT PRIMARY KEY,
    first_name  VARCHAR(50),
    last_name   VARCHAR(50),
    email       VARCHAR(100),
    hire_date   DATE
);

这会创建一个 employees 表,包含五列:唯一整数 ID(设置为主键)、名字和姓氏、电子邮件地址和聘用日期。

常见 SQL 数据类型

数据类型描述
INT整数
VARCHAR(n)长度可变的文本,最多 n 个字符
TEXT大量文本块
DATE日期值 (YYYY-MM-DD)
DECIMAL(p,s)精确数值(例如货币)
BOOLEAN真/假值

6. ALTER TABLE — 修改现有表

ALTER TABLE 语句允许您更改现有表的结构 — 例如,通过添加、修改或删除列。

语法 — 添加列

ALTER TABLE table_name
ADD column_name datatype;

语法 — 删除列

ALTER TABLE table_name
DROP COLUMN column_name;

语法 — 修改列

ALTER TABLE table_name
MODIFY COLUMN column_name new_datatype;

示例

ALTER TABLE employees
ADD email VARCHAR(100);

这会向现有 employees 表添加一个 email 列。

专业提示

在大型生产数据库中,ALTER TABLE 操作可能会锁定表并影响性能。始终在低流量期间安排架构更改或使用在线架构更改工具。

7. DROP TABLE — 删除整个表

DROP TABLE 语句永久删除表及其所有数据。此操作无法撤销。

语法

DROP TABLE table_name;

示例

DROP TABLE employees;

⚠️ 严重警告

DROP TABLE 是不可逆的。在生产环境中执行此命令之前,请确保您有完整且经过验证的数据库备份。AlexHost 的 专用服务器 包括自动备份解决方案选项,让您在执行高风险数据库操作时安心。

8. WHERE 子句 — 过滤查询结果

WHERE 子句不是独立命令,而是一个强大的过滤器,可以与 SELECTUPDATEDELETE 和其他语句结合使用。它根据一个或多个条件限制受影响或返回的行。

语法

SELECT * FROM table_name
WHERE condition;

示例

SELECT * FROM employees
WHERE first_name = 'John';

这会返回名字为”John”的每个员工的所有列。

常见 WHERE 运算符

运算符描述示例
=等于WHERE id = 5
!=<>不等于WHERE status != 'inactive'
>大于WHERE salary > 50000
<小于WHERE age < 30
BETWEEN在范围内WHERE age BETWEEN 25 AND 40
LIKE模式匹配WHERE email LIKE '%@gmail.com'
IN匹配列表中的任何值WHERE dept IN ('HR', 'IT')
IS NULL检查空值WHERE phone IS NULL

9. ORDER BY — 排序查询结果

虽然并不总是被列为绝对基础知识,但 ORDER BY 对于使您的查询结果可读和有意义至关重要。

语法

SELECT column1, column2
FROM table_name
ORDER BY column1 ASC|DESC;

示例

SELECT first_name, last_name, hire_date
FROM employees
ORDER BY hire_date DESC;

这会返回按聘用日期排序的所有员工,最近聘用的员工首先出现。

10. LIMIT — 控制结果数量

LIMIT 子句限制查询返回的行数。在处理大型数据集或实现分页时特别有用。

语法

SELECT * FROM table_name
LIMIT number;

示例

SELECT * FROM employees
LIMIT 10;

这仅返回 employees 表中的前 10 行。

将其全部整合在一起:实际的 SQL 工作流程

以下是这些命令如何在实际场景中协同工作的示例 — 构建和管理简单的员工数据库:

-- Step 1: Create the table
CREATE TABLE employees (
    id         INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name  VARCHAR(50),
    email      VARCHAR(100),
    department VARCHAR(50),
    salary     DECIMAL(10,2)
);

-- Step 2: Insert records
INSERT INTO employees (id, first_name, last_name, email, department, salary)
VALUES (1, 'John', 'Doe', 'john.doe@example.com', 'Engineering', 75000.00);

INSERT INTO employees (id, first_name, last_name, email, department, salary)
VALUES (2, 'Jane', 'Smith', 'jane.smith@example.com', 'Marketing', 68000.00);

-- Step 3: Query the data
SELECT first_name, last_name, department
FROM employees
WHERE salary > 70000
ORDER BY last_name ASC;

-- Step 4: Update a record
UPDATE employees
SET salary = 80000.00
WHERE id = 1;

-- Step 5: Delete a record
DELETE FROM employees
WHERE id = 2;

为 SQL 数据库选择合适的托管环境

在生产中运行 SQL 数据库需要可靠、安全和高性能的托管环境。以下是需要考虑的事项:

  • 对于小型项目和初学者:AlexHost 的 共享网络托管 包括 MySQL 数据库支持,是开始使用 SQL 驱动应用程序的经济实惠方式。
  • 对于不断增长的应用程序:VPS 托管 为您提供专用资源、完整的 root 访问权限以及完全按照您的需要配置数据库服务器的能力。
  • 对于企业级数据库:专用服务器 为关键任务数据库工作负载提供最大的性能、存储和安全性。
  • 对于安全的网络应用程序:将您的数据库服务器与 SSL 证书 配对,以加密传输中的数据并保护
15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用