首页 >数据库 >mysql教程 >浅谈MySQL漂流记(六)

浅谈MySQL漂流记(六)

黄舟
黄舟原创
2017-03-08 13:36:001041浏览

回顾一下之前的MySQL漂流记(一):

增加数据:
这里我们要说一下,如果增加多条数据,应该怎么做?
语法:insert  into 表名 values(…,…,…)
Case:  insert  into  table04  values(‘wangwu’,19,’beijing’),(‘gaojin’,31,’nanjing’);
其中,values写的是对应建表时的字段,必须按照建表时候的次序一次赋值,如果此时你忘记了建表时字段的顺序,没有关系,使用:
语法:describe  表名
可以帮助我们查看建表时的顺序
这里写图片描述

可以给出要赋值的那个列,然后再列出值。这对于希望建立只有几个列需要初始设置 的记录是很有用的:

(1)insert  test04(name)  values(‘Jack’);
(2)insert  test01_01(name)  values(‘Jack’),(‘baidu’);

(3)insert  test01_01  set  name=’Tencent’;
//使用(3)这种形式的 insert 语句不能插入多行

insert…into…select..语句:
之前我们介绍过可以用select语句创建表格,现在我们用insert…into…select语句来为我们提供便利:

使用insert into … select语句满足下列条件:

1:查询不能包含一个order by子句
2:insert语句的目的表不能出现在select查询部分的from子句,因为这在ANSI SQL中被禁止让从你正在插入的表中select.问题是select将可能发 现在同一个运行期间内先前被插入的记录。当使用子选择子句时,情况能很容易混淆

语法示例:
1)insert  into table01_01 select * from table01_01;//相当于拷贝,表结构完全一致

2)insert  into table01_01(name)  select name from  table04;//拷贝时–只取某个值添加
这里写图片描述

回顾一下之前的MySQL漂流记(一):

增加数据:
这里我们要说一下,如果增加多条数据,应该怎么做?
语法:insert  into 表名 values(…,…,…)
Case:  insert  into  table04  values(‘wangwu’,19,’beijing’),(‘gaojin’,31,’nanjing’);
其中,values写的是对应建表时的字段,必须按照建表时候的次序一次赋值,如果此时你忘记了建表时字段的顺序,没有关系,使用:
语法:describe  表名
可以帮助我们查看建表时的顺序
这里写图片描述

可以给出要赋值的那个列,然后再列出值。这对于希望建立只有几个列需要初始设置 的记录是很有用的:

(1)insert  test04(name)  values(‘Jack’);
(2)insert  test01_01(name)  values(‘Jack’),(‘baidu’);

(3)insert  test01_01  set  name=’Tencent’;
//使用(3)这种形式的 insert 语句不能插入多行

insert…into…select..语句:
之前我们介绍过可以用select语句创建表格,现在我们用insert…into…select语句来为我们提供便利:

使用insert into … select语句满足下列条件:

1:查询不能包含一个order by子句
2:insert语句的目的表不能出现在select查询部分的from子句,因为这在ANSI SQL中被禁止让从你正在插入的表中select.问题是select将可能发 现在同一个运行期间内先前被插入的记录。当使用子选择子句时,情况能很容易混淆

语法示例:
1)insert  into table01_01 select * from table01_01;//相当于拷贝,表结构完全一致

2)insert  into table01_01(name)  select name from  table04;//拷贝时–只取某个值添加
这里写图片描述


以上是浅谈MySQL漂流记(六)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn