Home > Database > Mysql Tutorial > Mysql 简单的命令语句续-*,as,group by,order by,group by,havin_MySQL

Mysql 简单的命令语句续-*,as,group by,order by,group by,havin_MySQL

WBOY
Release: 2016-05-31 08:50:29
Original
1113 people have browsed it

大哭-菜鸟在努力的学飞翔!

作为一枚菜鸟不容易啊,这个世界好难生存啊

继续在简陋的cmd命令里面敲击着sql命令!


首先这里着重的说下通配符*的问题!


如果让大家搜索全部的话 肯定是想也不想直接一个 select * from tablename 吧!

但是 这样的话是非常影响性能的!

如果你的列有很多的话!

因为在数据库里面

每次select * 都要把 * 解析成各个属性,所以当在实际开发当中千万不要偷懒

要列出自己要搜索的所有属性!从而提高整体的效率

for example:

select id,name,gender,age,job,createdate from teacher_tab order by createdate desc;
Copy after login


order by  列名  desc  是按照XXX排序 ,降序

order by  列名   不加,升序

效果如图1:


当你排列顺序遇到好多相等的时候,就可以考虑有第二列来排列

比如

select id,name,gender,age,job,createdate from teacher_tab order by createdate desc,age;
Copy after login
效果如图2  是两种排序方式



接下去我们怎么进行分组:

比如说我们要统计老师的数目,然后对老师性别分别进行统计 g=gg=男  m = mm = 女

代码如下“:

select gender ,count(gender) from teacher_tab group by gender;
Copy after login

效果如图3:


假如说我们只要计算m的个数,我们可以加having gender = 'm';

如图4:



不过不建议用having 当数据庞大之后,我们要在分组后,又进行搜索话是极耗费性能的。

建议使用如下代码:

select gender,count(gender) from teacher_tab where gender = 'm';
Copy after login

有时候我们对列名不太满意,想自定义使用其他的名字,这时候就需要用到as 别名了


代码如下:

select t.age,t.name from teacher_tab t;
Copy after login
select count(id) as counts from teacher_tab;
Copy after login
我们可以给列取别名也可以给表取别名!

效果如图5:


还有使用limit 限制 limit 起始量,偏移量

for example :

select * from teacher_tab limit 0,3;
Copy after login
select * from teacher_tab limit 1,3;
Copy after login
0是从第一条开始

1是指第二条开始

3是指0后面三条记录

效果如图6:


接下去是

事物的提交 回归等,下一篇再续


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template