mysql中insert into的用法
在MySQL中,INSERT INTO
语句用于向数据库表中插入新的行。以下是INSERT INTO
语句的基本用法和一些示例。
基本语法
INSERT INTO table_name (column1, column2, column3, ..., columnN)
VALUES (value1, value2, value3, ..., valueN);
插入单行数据
假设有一个名为employees
的表,其结构如下:
- id (INT)
- first_name (VARCHAR)
- last_name (VARCHAR)
- age (INT)
- salary (DECIMAL)
以下是如何向该表插入单行数据的示例:
INSERT INTO employees (id, first_name, last_name, age, salary)
VALUES (1, 'John', 'Doe', 30, 50000.00);
插入多行数据
你可以一次性插入多行数据,如下所示:
INSERT INTO employees (id, first_name, last_name, age, salary)
VALUES (1, 'John', 'Doe', 30, 50000.00),
(2, 'Jane', 'Smith', 25, 60000.00),
(3, 'Alice', 'Johnson', 35, 70000.00);
插入部分列的数据
如果你只想要插入部分列的数据,只需要指定那些列的名称即可:
INSERT INTO employees (first_name, last_name)
VALUES ('John', 'Doe');
在这个例子中,id
, age
, 和 salary
列将不会被插入数据,如果这些列允许NULL值,它们将被设置为NULL。如果这些列不允许NULL值并且没有设置默认值,那么这条语句将会失败。
插入默认值
如果表中的列有默认值,你可以在INSERT
语句中省略这些列,MySQL将自动填充默认值:
INSERT INTO employees (id, first_name, last_name)
VALUES (1, 'John', 'Doe');
假设age
和salary
列有默认值,那么这两个列将会被设置为它们的默认值。
注意事项
- 确保插入的数据类型与表定义中的列类型相匹配。
- 如果列不允许NULL值,且没有默认值,则必须在
INSERT
语句中为这些列提供值。 - 如果表中有自增主键,你可以在
INSERT
语句中省略该列,MySQL将自动为该列生成下一个序列值。
这些是INSERT INTO
语句的基本用法。根据具体的需求,INSERT
语句可以更加复杂,例如使用子查询来插入数据。