威言威语
我愿像茶,苦涩留心,清香予人。
威言威语
当前位置: 首页 > 网络 > 正文

MySQL中insert into语句的用法

insert into是mysql中最常用的插入语句,通过 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中,目标表中任何已存在的行都不会受影响。
MySQL中insert into语句的用法
目录
文章目录隐藏
  1. 1、向原表中某些字段中插入一条记录。
  2. 2、向原表的字段中插入多条记录的方法一。
  3. 3、向原表的字段中插入多条记录的方法二。
  4. 4、复制旧表的信息到新表(假设两个表的表结构一样)
  5. 5、复制旧表信息到新表(假设两个的表的表结构不一样)。

insert into是mysql中最常用的插入语句,通过 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中,目标表中任何已存在的行都不会受影响。

今天我们就来说说insert into的作用和使用方法。

1、向原表中某些字段中插入一条记录。

语法:insert into +表名(表中的字段,,)value(字段所对应的记录,,);


mysql> select * from joke;
+------+-----------+------ -+------+
| gid  | name      | sex    | age  |
+------+-----------+------ -+------+
|    3 | xiaowang  | male   |   22 |
|    3 | xiaowang  | male   |   22 |
|    3 | xiaowang  | male   |   22 |
|    3 | xiaozhang | female |   22 |
+------+-----------+---- ---+------+

mysql> insert into joke (gid,name)value(0,"joker");

mysql> select * from joke;
+------+-----------+------ -+------+
| gid  | name      | sex    | age  |
+------+-----------+------ -+------+
|    3 | xiaowang  | male   |   22 |
|    3 | xiaowang  | male   |   22 |
|    3 | xiaowang  | male   |   22 |
|    3 | xiaozhang | female |   22 |
|    0 | joker     | NULL   | NULL |
+------+-----------+------ -+------+
2、向原表的字段中插入多条记录的方法一。

语法:insert into +表名(表中的字段,,)values(字段所对应的记录,,)(字段所对应的记录);


mysql> insert into joke (gid,name)values(0,"joker"),(1,"jhj");

mysql> select * from joke;
+------+-----------+------ -+------+
| gid  | name      | sex    | age  |
+------+-----------+------ -+------+
|    3 | xiaowang  | male   |   22 |
|    3 | xiaowang  | male   |   22 |
|    3 | xiaowang  | male   |   22 |
|    3 | xiaozhang | female |   22 |
|    0 | joker     | NULL   | NULL |
|    0 | joker     | NULL   | NULL |
|    1 | jhj       | NULL   | NULL |
+------+-----------+------ -+------+
3、向原表的字段中插入多条记录的方法二。

语法:insert into+表名 select v1,v2 union all
select v1,v2;


mysql> insert into book select "abc","bdd" union  all
    -> select "add","dsf";

mysql> select * from book;
+------+------+
| a    | b    |
+------+------+
| abc  | bdd  |
| add  | dsf  |
+------+------+

如果插入的记录是数字的话要在数字的逗号后面加n:


mysql>  insert into Student select 1,N'刘一',18,N'男' union all
    ->  select 2,N'钱二',19,N'女';

mysql> select * from student;
+------+--------+------+------+
| s    | sname  | sage | ssex |
+------+--------+------+------+
|    1 | 刘一   |   18 | 男   |
|    2 | 钱二   |   19 | 女   |
|    3 | 张三   |   17 | 男   |
|    4 | 李四   |   18 | 女   |
|    5 | 王五   |   17 | 男   |
|    6 | 赵六   |   19 | 女   |
|    1 | 刘一   |   18 | 男   |
|    2 | 钱二   |   19 | 女   |
+------+-- -----+------+------+
4、复制旧表的信息到新表(假设两个表的表结构一样)

语法:insert into+新表+select语句;


mysql> insert into q1 select * from 4inall where sage=18;

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 |
+--------+------+--------+------+--------+------+------+-------+
5、复制旧表信息到新表(假设两个的表的表结构不一样)。

语法:insert into+新表+字段名+select语句;


mysql> insert into q1 (sname)select 4inall.s from 4inall where t=2;

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 |
+--------+------+--------+------+--------+------+------+-------+

您可能还会对这些文章感兴趣!

MySQL中insert into语句的用法:目前有 1 条评论

  1. 互听
    沙发
    互听:世界之窗浏览器 Windows 7

    MySQL中insert into算是常用的语句了。

    2008-03-14 02:59 回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

gravatar

question razz sad smile redface biggrin eek shock confused cool lol mad rolleyes wink cry