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

MySQL中insert into语句的用法

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

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