碼迷,mamicode.com
首頁 > 數據庫 > 詳細

MySQL基本查詢示例

時間:2019-12-06 13:36:36      閱讀:101      評論:0      收藏:0      [點我收藏+]

標簽:cot   http   concat   auto   min   add   ora   value   tianjin   

1、創建所需表及插入數據
<!--創建表-->
mysql> create table fruits ( f_id char(10) not null, s_id int not null, f_name char(255) not null, f_price decimal(8,2) not null, primary key(f_id) );
<!--插入數據-->
mysql> insert into fruits(f_id,s_id,f_name,f_price)
    -> values(‘a1‘,101,‘apple‘,‘5.2‘),
    -> (‘b1‘,101,‘blackberry‘,‘10.2‘),
    -> (‘bs1‘,102,‘orange‘,‘11.2‘),
    -> (‘bs2‘,105,‘melon‘,‘8.2‘),
    -> (‘t1‘,102,‘banana‘,‘10.3‘),
    -> (‘t2‘,102,‘grape‘,‘5.3‘),
    -> (‘o2‘,103,‘coconut‘,‘9.2‘),
    -> (‘c0‘,101,‘cherry‘,‘3.2‘),
    -> (‘a2‘,103,‘apricot‘,‘2.2‘),
    -> (‘l2‘,104,‘lemon‘,‘6.4‘),
    -> (‘b2‘,104,‘berry‘,‘7.6‘),
    -> (‘m1‘,106,‘mango‘,‘15.7‘),
    -> (‘m2‘,105,‘xbabay‘,‘2.6‘),
    -> (‘t4‘,107,‘xbababa‘,‘2.6‘),
    -> (‘m3‘,105,‘xxtt‘,‘11.6‘),
    -> (‘b5‘,107,‘xxxx‘,‘3.6‘);
Query OK, 16 rows affected (0.01 sec)
Records: 16  Duplicates: 0  Warnings: 0
<!--創建第二個表-->
mysql> create table customers
    -> (
    -> c_id int not null auto_increment,
    -> c_name char(50) not null,
    -> c_address char(50) null,
    -> c_city char(50) null,
    -> c_zip char(50) null,
    -> c_contact char(50) null,
    -> c_email char(50) null,
    -> primary key(c_id)
    -> );
Query OK, 0 rows affected (0.00 sec)
<!--向第二張表插入數據-->
mysql> insert into customers(c_id,c_name,c_address,c_city,c_zip,c_contact,c_email)
    -> values(10001,‘RedHook‘,‘200 Street‘,‘Tianjin‘,‘300000‘,‘LiMing‘,‘[email protected]‘),
    -> (1002,‘Stars‘,‘333 Fromage Lane‘,‘Dalian‘,‘116000‘,‘Zhangbo‘,‘[email protected]‘),
    -> (10003,‘Netbhood‘,‘1 Sunny Place‘,‘Qingdao‘,‘266000‘,‘LuoCong‘,NULL),
    -> (1004,‘JOTO‘,‘829 Riverside Drive‘,‘Haikou‘,‘570000‘,‘YangShan‘,‘[email protected]‘);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

2、查看兩個表的所有數據

技術圖片

技術圖片

3、查詢fruits表中f_name列的數據

mysql> select f_name from fruits;

查詢結果:

技術圖片

4、查詢fruits表中f_name和f_price兩列的數據

mysql> select f_name,f_price from fruits;

返回結果如下:

技術圖片

5、查詢fruits表中f_name和f_price的列,并且f_price的數值等于5.2

mysql> select f_name,f_price from fruits where f_price=5.2;

返回的結果如下:

技術圖片

6、查詢fruits表中f_name和f_price的列,并且f_price的數值大于或等于10

mysql> select f_name,f_price from fruits where f_price >= 10;

返回的結果如下:

技術圖片

7、查詢fruits表中f_name和f_price的列,并且f_price的數值在2到8之間

mysql> select f_name,f_price from fruits where f_price between 2 and 8;

返回的結果如下:

技術圖片

8、查詢fruits表中的f_name和s_id列,并且s_id的值為101或者103

查詢方法1:

mysql> select f_name,s_id from fruits
    -> where s_id = 101 or s_id = 103;

查詢方法2:

mysql> select f_name,s_id from fruits
    -> where s_id in(101,103);

上述兩種查詢語句,返回的結果都一樣,如下:

技術圖片

9、查詢fruits表中的f_name和s_id列,并且s_id的值不為101或者103

查詢方法1:

mysql> select f_name,s_id from fruits
    -> where s_id != 101 and s_id != 103;

查詢方法2:

mysql> select f_name,s_id from fruits
    -> where s_id not in(101,103);

返回的結果如下:

技術圖片

10、模糊查詢“%”和“_”的使用

<!--查詢fruits表中的f_name列,并且值以“b”開頭-->
mysql> select f_name from fruits where f_name like ‘b%‘;

返回的結果如下:

技術圖片

<!--查詢fruits表中的f_name列,并且值以“b”開頭,以“y”結尾-->
mysql> select f_name from fruits where f_name like ‘b%y‘;

返回的結果如下:

技術圖片

<!--查詢fruits表中的f_name列,值以“b”開頭,以“y”結尾,并且b和y之間有三個字符-->
mysql> select f_name from fruits where f_name like ‘b___y‘;

技術圖片

11、查詢fruits表中s_id的值為101并且f_price的值大于2.0的行

mysql> select * from fruits
    -> where s_id = 101 and f_price > ‘2.0‘ ;

返回的結果如下:

技術圖片

12、查詢fruits表中s_id的值為101或103并且f_price列的值大于5

mysql> select * from fruits where
    -> s_id in(101,103) and f_price > 5;

技術圖片

13、查詢fruits表中的s_id列,并去除重復值

mysql> select distinct s_id from fruits;

返回結果如下:

技術圖片

14、查詢fruits表中的s_id和f_name列,并以s_id對結果進行排序

mysql> select s_id,f_name from fruits order by s_id;

返回的結果如下:

技術圖片

15、查詢fruits表中的f_name及f_price列,并以f_name和f_price列進行排序

mysql> select f_name,f_price from fruits
    -> order by f_name,f_price;

返回的結果如下:
技術圖片

注:多字段排序,如果第一個排序的字段一致,會依靠第二個字段排序,依次類推,如果第一個字段不一樣,則直接以第一段來進行排序。

16、查詢fruits表中的f_price列,并對結果以降序進行排序

<!--默認是asc升序排序,可以通過關鍵字DESC更改為降序-->
mysql> select f_price from fruits order by f_price desc;

技術圖片

17、查詢fruits中s_id列不同值出現的次數,并對其進行分組顯示

<!--調用count(*)函數統計次數,并通過as來對其設置別名,group by來進行分組-->
mysql> select s_id,count(*) as total from fruits group by s_id;

返回結果如下:

技術圖片

18、查詢fruits表中每個相同的s_id對應的f_name列的所有值,f_name的值以一行顯示,并且其值在1個以上

mysql> select s_id,group_concat(f_name) as name from fruits group by s_id having count(f_name) > 1;

返回的結果如下:

技術圖片

19、查詢customers表中c_email列為空值的行

mysql> select * from customers where c_email is null;

查詢結果如下:

技術圖片

———————— 本文至此結束,感謝閱讀 ————————

MySQL基本查詢示例

標簽:cot   http   concat   auto   min   add   ora   value   tianjin   

原文地址:https://blog.51cto.com/14154700/2456603

(0)
(0)
   
舉報
評論 一句話評論(0
登錄后才能評論!
? 2014 mamicode.com 版權所有 京ICP備13008772號-2
迷上了代碼!
公式规律下期单双