select insert 语法

select insert 语法

当然,以下是关于 SQL 中 SELECT 和 INSERT 语法的详细解释和示例。

SELECT 语法

SELECT 语句用于从数据库中的一个或多个表中选取数据。其基本语法如下:

SELECT column1, column2, ... FROM table_name WHERE condition;
  • column1, column2, ...:指定要选择的列名。如果要选择所有列,可以使用星号(*)。
  • table_name:指定要从哪个表中选择数据。
  • condition:(可选)指定选择数据的条件。如果省略此子句,将返回表中的所有行。

示例

假设有一个名为 employees 的表,包含以下列:id, first_name, last_name, department, salary。

  1. 选择所有列:

    SELECT * FROM employees;
  2. 选择特定列:

    SELECT first_name, last_name FROM employees;
  3. 使用条件过滤结果:

    SELECT first_name, last_name FROM employees WHERE department = 'Sales';

INSERT 语法

INSERT 语句用于向数据库的表中插入新记录。其基本语法有两种形式:插入完整行和插入部分行并允许其他列使用默认值。

插入完整行

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
  • column1, column2, ...:指定要插入值的列名。
  • value1, value2, ...:指定与列对应的值。

插入部分行(为未指定的列提供默认值)

INSERT INTO table_name VALUES (value1, value2, ...);

在这种形式中,必须为每个列提供一个值,并且值的顺序必须与表中的列顺序一致。

示例

继续以 employees 表为例,假设该表的列顺序是 id, first_name, last_name, department, salary。

  1. 插入完整行:

    INSERT INTO employees (first_name, last_name, department, salary) VALUES ('John', 'Doe', 'HR', 50000);
  2. 插入部分行(假设 id 列是自增的):

    INSERT INTO employees VALUES (NULL, 'Jane', 'Smith', 'Finance', 60000);

    注意:这里使用 NULL 是因为 id 列是自增的,不需要手动插入值。

综合示例

结合 SELECT 和 INSERT,你可以从一个表中选择数据并将其插入到另一个表中。例如,将 employees 表中 department 为 'Sales' 的员工复制到另一个名为 sales_employees 的表中:

CREATE TABLE sales_employees AS SELECT * FROM employees WHERE department = 'Sales';

或者,如果你已经有一个存在的 sales_employees 表,并且只想插入特定的列:

INSERT INTO sales_employees (first_name, last_name, department, salary) SELECT first_name, last_name, department, salary FROM employees WHERE department = 'Sales';

希望这些解释和示例能帮助你理解 SELECT 和 INSERT 语句的基本用法!