去重复查询
创建一个表,用于测试
mysql> use test;
mysql> create table test(id int,name varchar(10),age tinyint);
mysql> insert into test values (1,'张三',23);
mysql> insert into test values (2,'张三',23);
mysql> select * from test;
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | 张三 | 23 |
| 2 | 张三 | 23 |
+------+--------+------+
2 rows in set (0.00 sec)
除id外,其他数据都是一样的记录,接下来,通过去重复查询。
语法:select distinct 字段 from 表名
mysql> select distinct name,age from test;
+--------+------+
| name | age |
+--------+------+
| 张三 | 23 |
+--------+------+
将指定字段去重,原本两条记录,就剩下一个了。
多条件查询
使用and和or可进行多条件查询,and用于同时满足多个条件,or则满足多个条件中的一个即可。
多添加一条记录,用于测试。
mysql> insert into test values(3,'李四',24);
mysql> insert into test values(4,'王五',25);
使用时很简单,直接在条件后面加上即可。例如:查询字段id<2,并且name是张三的记录。
mysql> select * from test where id<2 and name='张三';
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | 张三 | 23 |
+------+--------+------+
查询id>3或name时王五的记录
mysql> select * from test where id >3 or name='王五';
+------+--------+------+
| id | name | age |
+------+--------+------+
| 4 | 王五 | 25 |
+------+--------+------+
1 row in set (0.00 sec)
区分大小写查询
我们都知道,mysql默认是不区分大小写的,而有些时候,出于需要还是要区分大小写,这个时候就要用到这个了。
语法:select 字段 from 表名 where binary 条件
创建一对记录,用于测试
mysql> insert into test values(5,'one',22);
mysql> insert into test values(6,'ONE',22);
查询一下创建的记录
mysql> select * from test where name='one';
+------+------+------+
| id | name | age |
+------+------+------+
| 5 | one | 22 |
| 6 | ONE | 22 |
+------+------+------+
接下来将one和ONE通过binary分别查询。
查询name为one的记录
mysql> select * from test where binary name='one';
+------+------+------+
| id | name | age |
+------+------+------+
| 5 | one | 22 |
+------+------+------+
查询name为ONE的记录
mysql> select * from test where binary name='ONE';
+------+------+------+
| id | name | age |
+------+------+------+
| 6 | ONE | 22 |
+------+------+------+
查询排序
通过记录的序号来对数据进行排列查询,通过序号的只越大,创建的时间越短。
语法:select 字段 from 表名 order by 字段名 顺序
顺序:asc表示升序,desc表示降序
使用升序排列(从小到大)
mysql> select id from test order by id asc;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+------+
使用降序排列(从大到小)
mysql> select id from test order by id desc;
+------+
| id |
+------+
| 6 |
| 5 |
| 4 |
| 3 |
| 2 |
| 1 |
+------+