關於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 |
+------+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章