MySQL 如何向MySQL表中插入新行?
MySQL是一个关系型数据库管理系统,它可以方便地管理数据,但在使用数据库时,我们经常需要向表中插入新行。本篇文章将介绍如何使用MySQL中的INSERT语句向表中插入新数据。
阅读更多:MySQL 教程
插入新行的基本语法
下面是向MySQL表中插入新行的基本语法:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中,table_name
是要插入数据的表名,括号中的column1, column2, column3, ...
是表中的列名,用逗号分隔;VALUES
后面的括号中是对应列的值,也用逗号分隔。注意,每个值都必须与列名一一对应。
例如,我们有一个名为users
的表,它有三列:id
、name
、age
。我们要向该表中插入一个新行,其中id
为1,name
为”John”,age
为25。那么插入的语句应该是这样的:
INSERT INTO users (id, name, age)
VALUES (1, 'John', 25);
插入多行数据
除了一次只能插入一行的情况外,我们还可以使用一条INSERT语句一次性插入多行数据。多行数据的语法格式与单行数据基本相同,只需要在VALUES后面添加多个括号,每个括号表示一行数据。
例如,我们要向users
表中插入两个新行,一个是id为2,name为”Bob”,age为30;另一个是id为3,name为”Linda”,age为28。那么插入的语句应该是这样的:
INSERT INTO users (id, name, age)
VALUES (2, 'Bob', 30),
(3, 'Linda', 28);
插入从另一个表中选择的数据
有时候我们需要从另一个表中选择一些数据,并将这些数据插入新表中。此时,我们可以使用INSERT SELECT语句。
下面是INSERT SELECT语句的基本语法:
INSERT INTO table_name (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM other_table_name
WHERE ...
其中,table_name
是要插入数据的表名,括号中的column1, column2, column3, ...
是新表的列名,用逗号分隔;SELECT
语句中的column1, column2, column3, ...
是从另一个表中选择的列名,同样用逗号分隔;FROM
后面的other_table_name
是另一个表的名称,WHERE
用于限制选择的行。
例如,我们有一个名为employees
的表,它有三列:id
、name
、age
。我们要将name
和age
这两列数据插入到users
表中。那么插入的语句应该是这样的:
INSERT INTO users (name, age)
SELECT name, age
FROM employees
WHERE age > 25;
插入默认值
有时候我们想要将表中某些列的值设为默认值,此时可以使用INSERT语句的默认值功能,语法如下:
INSERT INTO table_name
DEFAULT VALUES;
例如,我们有一个名为books
的表,它有三列:id
、title
、author
。我们要向该表中插入一行数据,其中id为自增长字段,我们可以使用以下语句:
INSERT INTO books DEFAULT VALUES;
结论
插入新行是MySQL中最常用的操作之一,本篇文章介绍了插入新行的基本语法,包括单行数据和多行数据的插入方式,还介绍了如何从另一个表中选择数据并插入到新表中,以及如何使用默认值功能。熟练掌握这些语法,能够大大提高我们使用MySQL的效率。