MySQL是其数据的存储和管理采用结构化方式的关系型数据库管理系统。而插入新数据,就需要使用MySQL的Insert语句。
一、基本语法
MySQL Insert语句的基本格式如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中:
- table_name:要插入数据的表名。
- column1, column2, column3, ...:要插入数据的列名。如果要插入所有列,可以使用 * 表示。
- value1, value2, value3, ...:要插入的数据值。值的数量必须与列的数量一致。
示例代码:
INSERT INTO employees (first_name, last_name, age, salary)
VALUES ('John', 'Doe', 35, 5000);
这个Insert语句将在employees表中插入一行数据,包括first_name、last_name、age和salary四个列。
二、插入多行数据
同时插入多行数据,除了使用多个Insert语句,还可以使用Insert语句的多值语法。
多值语法的基本格式如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES
(value1, value2, value3, ...),
(value1, value2, value3, ...),
...
;
示例代码:
INSERT INTO employees (first_name, last_name, age, salary)
VALUES
('John', 'Doe', 35, 5000),
('Jane', 'Smith', 28, 4000),
('Mike', 'Johnson', 45, 7000);
这个Insert语句将在employees表中插入三行数据,分别为John Doe、Jane Smith和Mike Johnson。
三、插入查询结果
利用Insert语句还可以插入一个查询语句的结果。
基本语法如下:
INSERT INTO table_name (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM another_table_name
WHERE condition;
其中,table_name是要插入数据的表,column1、column2、column3等是要插入数据的列,another_table_name是要查询的表,condition是查询条件。
示例代码:
INSERT INTO employees (first_name, last_name, age, salary)
SELECT first_name, last_name, age, salary
FROM temporary_employees
WHERE hired_date > '2021-01-01';
这个Insert语句将从temporary_employees表中选择所有入职日期在2021年之后的雇员信息,并将其插入到employees表中。
四、插入默认值
如果表中的某些列设置了默认值,可以使用Insert语句的默认值关键字插入数据。
基本语法如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (DEFAULT, value2, DEFAULT, ...);
其中,DEFAULT是关键字,表示插入默认值。
示例代码:
INSERT INTO employees (first_name, last_name, age, salary)
VALUES ('John', 'Doe', DEFAULT, 5000);
这个Insert语句将在employees表中插入一行数据,其中age列将使用默认值,其他列将使用指定的值。
五、总结
MySQL的Insert语句是向表中添加新数据的重要方式。它可以插入单行数据、多行数据、查询结果以及默认值,从而满足不同的需求。但是,在实际使用中,要注意表结构、数据类型、数据完整性等方面的问题,以避免数据错误和不一致的情况。