mysqlinsert语句⼤全_MySQL中insertinto语句的6种写法insert into是mysql中最常⽤的插⼊语句,它有6种写法。
1向原表中某些字段中插⼊⼀条记录。
语法:insert into +表名(表中的字段,,)value(字段所对应的记录,,);
mysql> select * from joke;
+------+-----------+-------+------+
| gid | name | sex | age |
+------+-----------+-------+------+
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan22 | 1male | 22 |
+------+-----------+-------+------+
4 rows in set (0.02 sec)
mysql> insert into joke (gid,name)value(0,"joker");
Query OK, 1 row affected (0.09 sec)
mysql> select * from joke;
+------+-----------+-------+------+
| gid | name | sex | age |
+------+-----------+-------+------+
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan22 | 1male | 22 |
| 0 | joker | NULL | NULL |
+------+-----------+-------+------+
5 rows in set (0.00 sec)
2向原表的字段中插⼊多条记录的⽅法⼀。
语法:insert into +表名(表中的字段,,)values(字段所对应的记录,,)(字段所对应的记录);
mysql> insert into joke (gid,name)values(0,"joker"),(1,"jhj");
Query OK, 2 rows affected (0.14 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from joke;
+------+-----------+-------+------+
| gid | name | sex | age |
+------+-----------+-------+------+
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan2 | male | 22 |
| 3 | xiaowan22 | 1male | 22 |
| 0 | joker | NULL | NULL |
| 0 | joker | NULL | NULL |
| 1 | jhj | NULL | NULL |
+------+-----------+-------+------+
7 rows in set (0.00 sec)
3向原表的字段中插⼊多条记录的⽅法⼆。
语法:insert into+表名 select v1,v2 union all
select v1,v2;
mysql> insert into book select "abc","bdd" union all
-> select "add","dsf";
Query OK, 2 rows affected (0.16 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from book;
+------+------+
| a | b |
+------+------+
| abc | bdd |
| add | dsf |
+------+------+
2 rows in set (0.00 sec)
如果插⼊的记录是数字的话要在数字的逗号后⾯加n:
mysql> insert into Student select 1,N'刘⼀',18,N'男' union all -> select 2,N'钱⼆',19,N'⼥';
Query OK, 2 rows affected (0.09 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from student;
+------+--------+------+------+
| s | sname | sage | ssex |
+------+--------+------+------+
| 1 | 刘⼀ | 18 | 男 |
| 2 | 钱⼆ | 19 | ⼥ |
| 3 | 张三 | 17 | 男 |
| 4 | 李四 | 18 | ⼥ |
| 5 | 王五 | 17 | 男 |
| 6 | 赵六 | 19 | ⼥ |
| 1 | 刘⼀ | 18 | 男 |
| 2 | 钱⼆ | 19 | ⼥ |
+------+--------+------+------+
8 rows in set (0.00 sec)
4复制旧表的信息到新表(假设两个表的表结构⼀样)
语法:insert into+新表+select语句;
mysql> insert into q1 select * from 4inall where sage=18; Query OK, 7 rows affected (0.28 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql> select * from q1;
+--------+------+--------+------+--------+------+------+-------+
| sname | sage | tname | t | cname | s | c | score |
+--------+------+--------+------+--------+------+------+-------+
| 刘⼀ | 18 | 叶平 | 1 | 语⽂ | 1 | 1 | 56 |
insert语句字段顺序| 钱⼆ | 19 | 叶平 | 1 | 语⽂ | 2 | 1 | 79 |
| 张三 | 17 | 叶平 | 1 | 语⽂ | 3 | 1 | 91 |
| 王五 | 17 | 叶平 | 1 | 语⽂ | 5 | 1 | 46 |
| 赵六 | 19 | 叶平 | 1 | 语⽂ | 6 | 1 | 35 |
| abc | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 刘⼀ | 18 | 叶平 | 1 | 语⽂ | 1 | 1 | 56 |
| 刘⼀ | 18 | 贺⾼ | 2 | 数学 | 1 | 2 | 78 |
| 刘⼀ | 18 | 杨艳 | 3 | 英语 | 1 | 3 | 67 |
| 刘⼀ | 18 | 周磊 | 4 | 物理 | 1 | 4 | 58 |
| 李四 | 18 | 贺⾼ | 2 | 数学 | 4 | 2 | 88 |
| 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 |
| 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 |
+--------+------+--------+------+--------+------+------+-------+
13 rows in set (0.00 sec)
5复制旧表信息到新表(假设两个的表的表结构不⼀样)。
语法::insert into+新表+字段名+select语句;
mysql> insert into q1 (sname)select 4inall.s from 4inall where t=2; Query OK, 5 rows affected (0.13 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select * from q1;
+--------+------+--------+------+--------+------+------+-------+
| sname | sage | tname | t | cname | s | c | score |
+--------+------+--------+------+--------+------+------+-------+
| 刘⼀ | 18 | 叶平 | 1 | 语⽂ | 1 | 1 | 56 |
| 钱⼆ | 19 | 叶平 | 1 | 语⽂ | 2 | 1 | 79 |
| 张三 | 17 | 叶平 | 1 | 语⽂ | 3 | 1 | 91 |
| 王五 | 17 | 叶平 | 1 | 语⽂ | 5 | 1 | 46 |
| 赵六 | 19 | 叶平 | 1 | 语⽂ | 6 | 1 | 35 |
| abc | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
| 刘⼀ | 18 | 叶平 | 1 | 语⽂ | 1 | 1 | 56 |
| 刘⼀ | 18 | 贺⾼ | 2 | 数学 | 1 | 2 | 78 |
| 刘⼀ | 18 | 杨艳 | 3 | 英语 | 1 | 3 | 67 |
| 刘⼀ | 18 | 周磊 | 4 | 物理 | 1 | 4 | 58 |
| 李四 | 18 | 贺⾼ | 2 | 数学 | 4 | 2 | 88 |
| 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 |
| 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 |
| 1 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
| 2 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
| 3 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
| 4 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
| 6 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
+--------+------+--------+------+--------+------+------+-------+
18 rows in set (0.00 sec)
6.向原本中插⼊数据(不能是其他表的数据):
语法:insert into 原表名 set 原表字段名=原表字段名(=“具体指”可有可⽆);mysql> insert into 4a set sname=sname="赵六";
Query OK, 1 row affected (0.29 sec)
mysql> select * from 4a;
+--------+------+--------+------+--------+------+------+-------+
| sname | sage | tname | t | cname | s | c | score |
+--------+------+--------+------+--------+------+------+-------+
| 刘⼀ | 18 | 叶平 | 1 | 语⽂ | 1 | 1 | 56 |
| 刘⼀ | 18 | 贺⾼ | 2 | 数学 | 1 | 2 | 78 |
| 刘⼀ | 18 | 杨艳 | 3 | 英语 | 1 | 3 | 67 |
| 刘⼀ | 18 | 周磊 | 4 | 物理 | 1 | 4 | 58 |
| 钱⼆ | 19 | 叶平 | 1 | 语⽂ | 2 | 1 | 79 |
| 钱⼆ | 19 | 贺⾼ | 2 | 数学 | 2 | 2 | 81 |
| 钱⼆ | 19 | 杨艳 | 3 | 英语 | 2 | 3 | 92 |
| 钱⼆ | 19 | 周磊 | 4 | 物理 | 2 | 4 | 68 |
| 张三 | 17 | 叶平 | 1 | 语⽂ | 3 | 1 | 91 |
| 张三 | 17 | 贺⾼ | 2 | 数学 | 3 | 2 | 47 |
| 张三 | 17 | 杨艳 | 3 | 英语 | 3 | 3 | 88 |
| 张三 | 17 | 周磊 | 4 | 物理 | 3 | 4 | 56 |
| 李四 | 18 | 贺⾼ | 2 | 数学 | 4 | 2 | 88 |
| 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 |
| 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 |
| 王五 | 17 | 叶平 | 1 | 语⽂ | 5 | 1 | 46 |
| 王五 | 17 | 杨艳 | 3 | 英语 | 5 | 3 | 78 |
| 王五 | 17 | 周磊 | 4 | 物理 | 5 | 4 | 53 |
| 赵六 | 19 | 叶平 | 1 | 语⽂ | 6 | 1 | 35 |
| 赵六 | 19 | 贺⾼ | 2 | 数学 | 6 | 2 | 68 |
| 赵六 | 19 | 周磊 | 4 | 物理 | 6 | 4 | 71 | # 新增
| NULL | NULL | NULL | NULL | NULL | NULL | NULL | 93 |
| NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
| NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
+--------+------+--------+------+--------+------+------+-------+
24 rows in set (0.00 sec)
通过以上实例我们可以看到insert into语句只能向原表中插⼊于其字段对应的数据,那么能不能通过insert into语句来把其他表的数据插⼊到原表中呢:
在MySQL中set⽅法:
ModifyStatement.Set Method 修改语句 set⽅法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。