Rumah >pangkalan data >tutorial mysql >Mysql 简单的命令语句续-*,as,group by,order by,group by,havin_MySQL
-菜鸟在努力的学飞翔!
作为一枚菜鸟不容易啊,这个世界好难生存啊
继续在简陋的cmd命令里面敲击着sql命令!
首先这里着重的说下通配符*的问题!
如果让大家搜索全部的话 肯定是想也不想直接一个 select * from tablename 吧!
但是 这样的话是非常影响性能的!
如果你的列有很多的话!
因为在数据库里面
每次select * 都要把 * 解析成各个属性,所以当在实际开发当中千万不要偷懒
要列出自己要搜索的所有属性!从而提高整体的效率
for example:
select id,name,gender,age,job,createdate from teacher_tab order by createdate desc;
order by 列名 desc 是按照XXX排序 ,降序
order by 列名 不加,升序
效果如图1:
当你排列顺序遇到好多相等的时候,就可以考虑有第二列来排列
比如
select id,name,gender,age,job,createdate from teacher_tab order by createdate desc,age;效果如图2 是两种排序方式
接下去我们怎么进行分组:
比如说我们要统计老师的数目,然后对老师性别分别进行统计 g=gg=男 m = mm = 女
代码如下“:
select gender ,count(gender) from teacher_tab group by gender;
假如说我们只要计算m的个数,我们可以加having gender = 'm';
如图4:
不过不建议用having 当数据庞大之后,我们要在分组后,又进行搜索话是极耗费性能的。
建议使用如下代码:
select gender,count(gender) from teacher_tab where gender = 'm';
代码如下:
select t.age,t.name from teacher_tab t;
select count(id) as counts from teacher_tab;我们可以给列取别名也可以给表取别名!
效果如图5:
还有使用limit 限制 limit 起始量,偏移量
for example :
select * from teacher_tab limit 0,3;
select * from teacher_tab limit 1,3;0是从第一条开始
1是指第二条开始
3是指0后面三条记录
效果如图6:
接下去是
事物的提交 回归等,下一篇再续