不会SQL查询的前端不是好测试
昨天和后端的同事商量导出功能的实现,因为这哥们入行不久,一整天下来接口都没给出来,于是便询问下啥情况。然后他打开电脑,在Navicat上给我看他写的SQL语句,然后指着运行结果说:这三个维度的数据不知到为啥第一个维度的数据总是统计不正确。
好家伙,欺负我看不懂呢?都是同一张表,都是任务数据统计,其中两类任务统计正确,剩下一类不正确大概率就是你写的SQL有问题呗。
可是我还真是不懂,我就是猜的,不过最近几个月偷偷窥屏老是见后端的兄弟写SQL,而且逻辑上看起来还挺简单的,不禁让我萌生了自己写SQL查数据的想法。
讨论无果后我就让这哥们问其它后端的兄弟了,而我回到自己的工位后打开了Navicat(以前装的,单没用过)问清楚了测试服务器数据库的IP,端口,账号还有密码后尝试连接数据库。
这是mac版Navicat主界面
要连接数据库需要以下几个步骤:
- 点击左上角的“链接”按钮按钮。
2.在打开的窗口选择对应的数据库类型
我们用的是MySQL。
- 接着展开的窗口填写数据库信息
连接成功的数据库列表会出现在Navicat主界面右侧
4.选中连接,右键点击“打开连接”,成功了该连接颜色会变成绿色
5.选中连接下的库,右键点击“打开数据库”,成功了该数据库颜色会变成绿色
6.选中已打开的数据库,新建一个查询
展开后的查询界面
7.输入SQL(SQL的含义稍后解释)选中这条SQL,运行
如果SQL没问题的话就可以看到结果啦
Navicat的简单上手就这几个步骤,接下来开始研究SQL语法。
下面是我使用的两个SQL查询语句
1.可以看到,查询语句的固定语法就是以“SELECT”开头
2.接着是查询内容和表如:在部门表里查询部门名称字段“FROM”前面是指定要查询的字段(如:部门名称:dept_name)如果要查询多个字段,使用“,”隔开,所有字段可以用“*”号代替
3.“FROM”后面紧接着的是指定在那个表查询(如:部门表:dept_base)。
查询部门表里部门名称,SQL如下。
SELECT dept_name FROM dept_base;
4.表后面可以使用“WHERE”增加限制条件。
查询项目金额大于10万的项目所有信息,SQL如下。
SELECT * FROM bus_proj_base WHERE project_amount >= 100000 ;
查询之前要先了解数据库已经有哪些表,这些表有哪些可查询字段可以通过展开表or通过Navicat的提示获得
了解了上面的语法后就可以完成大部分单表的信息查询。
更多SQL语法可以到菜鸟教程上查看。