您可以使用以下语法组合插入、值和选择语句
insert into yourfirsttablename(yourcolumnname1,yourcolumnname2,.......n)select yourcolumnname1,yourcolumnname2,.......nfrom 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)
使用插入命令在第二个表中插入名为“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 getallvaluesvalues('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
现在使用 select 语句检查记录是否存在于表中。查询如下
mysql> select *from combininginsertvaluesselect;
以下是输出
+------------+--------------+-------------+| employeeid | employeename | employeeage |+------------+--------------+-------------+| emp-4 | david | 27 |+------------+--------------+-------------+1 row in set (0.00 sec)
以上就是在 mysql 中组合 insert、values 和 select的详细内容。