关于MySQL数据库查询的一些操作

去重复查询

创建一个表,用于测试

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 |
+------+
发布了167 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42534026/article/details/105682900