在 MySQL 中组合 INSERT、VALUES 和 SELECT
您可以使用以下语法将 insert、values 和 select 语句组合在一起
insert into yourFirstTableName(yourColumnName1,yourColumnName2,.......N) select yourColumnName1,yourColumnName2,.......N from yourSecondTableName where yourCondition;
为了理解上述语法,让我们创建两个表,其中第一个表将从第二个表中获取记录。
让我们创建一个不包含任何记录的表。创建表的查询如下
mysql> create table CombiningInsertValuesSelect -> ( -> EmployeeId varchar(10), -> EmployeeName varchar(100), -> EmployeeAge int -> ); Query OK, 0 rows affected (6.95 sec)
现在您可以创建包含一些记录的第二个表。创建表的查询如下
mysql> create table getAllValues -> ( -> Id varchar(100), -> Name varchar(100), -> Age int -> ); Query OK, 0 rows affected (1.12 sec)
使用 insert 命令向名为“getAllValues”的第二个表中插入记录。查询如下
mysql> insert into getAllValues values('EMP-1','John',26); Query OK, 1 row affected (0.86 sec) mysql> insert into getAllValues values('EMP-2','Carol',22); Query OK, 1 row affected (0.36 sec) mysql> insert into getAllValues values('EMP-3','Sam',24); Query OK, 1 row affected (0.28 sec) mysql> insert into getAllValues values('EMP-4','David',27); Query OK, 1 row affected (0.25 sec) mysql> insert into getAllValues values('EMP-5','Bob',21); Query OK, 1 row affected (0.75 sec)
现在您可以使用 select 语句从表中显示所有记录。查询如下
mysql> select *from getAllValues;
以下是输出
+-------+-------+------+ | Id | Name | Age | +-------+-------+------+ | EMP-1 | John | 26 | | EMP-2 | Carol | 22 | | EMP-3 | Sam | 24 | | EMP-4 | David | 27 | | EMP-5 | Bob | 21 | +-------+-------+------+ 5 rows in set (0.00 sec)
以下是 MySQL 中 insert、values 和 select 的用法。查询如下
mysql> insert into CombiningInsertValuesSelect(EmployeeId,EmployeeName,EmployeeAge) -> select Id,Name,Age from getAllValues where Id='EMP-4'; Query OK, 1 row affected (0.23 sec) Records: 1 Duplicates: 0 Warnings: 0
现在检查是否存在该记录表中或使用语句选择。查询如下
mysql> select *from CombiningInsertValuesSelect;
以下是输出
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | EMP-4 | David | 27 | +------------+--------------+-------------+ 1 row in set (0.00 sec)
广告