您的位置:首页 > 数据库

关于sql语句的一点总结

2015-11-26 20:21 295 查看
             都怪以前的生活太安逸,一到导数据的时候都联系不到我,之前也是一直没有机会,因为自己的系统是和初始化数据没有太多关联的。来到公司之后,先了解需求、设计数据库、整理旧系统,开始这个版本的开发,我的任务是初始化数据库的省市和手机号码归属地表。出来混早晚都是要还的,以前不好好写sql语句,总有一天你会被它逼疯两天。

          总结一下这几天用到的东西:
mysql数据库不支持 top 1的查询该怎么办?
          用惯了select * from tablename……、select
top n from tablename…… mysql中不支持top n查询吶……既然mysql没有此语法,可以用limit来实现相关功能,而且功能还更加强大。
          之前不是实现的sql语句:

Select top 1 * from weixin_receivetext a where content='天气' ORDER BY createtime DESC


          现在实现的语句:
SELECT * from weixin_receivetext a where content='天气' ORDER BY createtime DESC limit 1

 
其他用法:
          取前15条记录:
select * from tablename order by orderfield desc/asc limit 0,15

          position 指示从哪里开始查询,如果是0则是从头开始,counter 表示查询的个数
select * from tablename order by orderfield desc/asc limit position, counter;

          检索记录行 6-15 ,注意,10为偏移量 
SELECT * FROM table LIMIT 5,10;


          将一个表中的某个字段插入到另一个表的字段
UPDATE table1 SET table1 .column=(SELECT columnFROM table 2 WHERE table1 .column=table  2.column)


          当然我的工作也不是用几条sql语句就可以搞定的,为此小编又去学习了一点VBA,在网上请教了几个大牛,才解决我的问题。在数据库已有的表中查符合条件的值赋值给excel表中,如果我会写一个程序或者一个脚本能自动完成我的工作那就太好了,小编是在能力有限,数据也实在是太多,我该怎么办?
          把数据库中的数据先导到另一个excel中,两张excel就可以使用VBA了,之前只知道有这么个东西,没有用过,现在竟然会用到像excel这么基础的东西,所以……
Vlookup可以实现两个sheet的查询与复制等,架构师说过一句话,当问题解决不了的时候想想怎么用最原始的方法去解决。加班中……懒得截图。总之导完了数据去调运营商的接口……
 
          过程中加了好几个VBA的QQ群,还是小感谢一下帮助过我的人,评价一个群是不是闲扯淡还是交流技术就看看群文件把,这几天也是被“大数据”整的够够的了……
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: