MySQL数据库学习五 之 SELECT语句

来源:互联网 发布:cda数据分析师培训 编辑:程序博客网 时间:2024/05/12 15:49

1、查找全部列

SELECT * from users;
结果是查看表的全部列。


2、查找部分列

<pre name="code" class="sql">SELECT id, username from users;

结果是先列出id列,再列出username列,也可以写为:

SELECT users.id , users.username FROM users;

这样可以比较清楚的分辨是那个表下的哪个字段。


3、命别名

SELECT id AS uid , username AS uname FROM users;

现在列名为别名。


4、加where的条件查询

   同前插入删除等操作,不再演示


5、分组 group by

1)全部记录分组

SELECT id , username FROM users GROUP BY sex;

(此为操作结果)


(此为全部的记录)


2)只对部分记录分组

SELECT age,sex FROM users GROUP BY sex HAVING age > 19;
HAVING 后的条件要么在前面select后出现,如上例;要么是闭合函数max,min,count ,sum,avg等等,如下:

SELECT age,sex FROM users GROUP BY id HAVING count(id) > 2;
此语句结果为空,count(id)> 2的意思是,一组内有超过两个id数,但很明显按id分组,每组只有一个id。


6、对查询结果排序 order by

在实际操作时为验证一些功能,我的数据表又insert了一些记录,现在的全部记录为:


(可以看到查找后显示的顺序为我们插入的顺序)

SELECT * FROM users ORDER BY id DESC;


(DESC 意为降序,ASC为升序,默认ASC)

注:可同时order by多个字段,如果第一的字段有相同的,则按第二的字段拍,以此类推。

7、限制查询结果返回的数量。LIMIT

SELECT * from users ORDER BY id DESC LIMIT 2,2;
(先按id降序排列,然后选排列后的第三第四条记录显示,不是id为3和4的显示)



8、insert - select语句,可以将查找的结果存到指定的数据表。

首先,我们创建一个新的数据表:

CREATE TABLE user_test(id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,username VARCHAR(20) );
此时,该数据表内无记录。现在,我们做如下操作
INSERT user_test(username) SELECT username FROM users WHERE age >= 20;
操作为:吧users表里 age>=20 的记录插入到了user_test表中。现在user_test表如下:



0 0
原创粉丝点击