ACCESS DENIED
小Z小Z  2019-08-25 18:03 主机之家测评 隐藏边栏 |   抢沙发  8 
文章评分 0 次,平均分 0.0

 

选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ —like 的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

如何在 mysql 从多个表中组合字段然后插入到一个新表中,通过一条 sql 语句实现。具体情形是:有三张表 a、b、c,现在需要从表 b 和表 c 中分别查几个字段的值插入到表 a 中对应的字段。对于这种情况,我们可以使用如下的语句来实现:

INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name

当然,上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,我们可以先将需要查询的字段 join 起来,然后组成一个视图后再 select from 就可以了:

INSERT INTO a(field1,field2) SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb

其中 f1 是表 b 的字段,f2 是表 c 的字段,通过 join 查询就将分别来自表 b 和表 c 的字段进行了组合,然后再通过 select 嵌套查询插入到表 a 中,这样就满足了我们这个场景了,如果需要不止 2 个表,那么可以多个 join 的形式来组合字段。需要注意的是嵌套查询部分最后一定要有设置表别名,如下:

SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb

即最后的 as tb 是必须的(当然 tb 这个名称可以随意取),即指定一个别名,否则在 mysql 中会报如下错误:
ERROR 1248 (42000): Every derived TABLE must have its own alias
即每个派生出来的新表都必须指定别名才可以的。

声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
小Z
小Z 关注:0    粉丝:0
【声明】:本站宗旨是为方便站长、科研及外贸人员,请勿用于其它非法用途!站内所有内容及资源,均来自网络。本站自身不提供任何资源的储存及下载,若无意侵犯到您的权利,请及时与我们联系。

发表评论

扫一扫二维码分享