MySQL 高級(進階) SQL 語句 (一)

                        環境:創建表

                        mysql> show databases;
                        
                        mysql> use kgc
                        
                        mysql> show tables;
                        
                        mysql> create table ky19;
                        
                        mysql> create table ky19 (id int,name varchar(10)primary key not null,score decimal(5,2),address varchar(20),hobbid int(5));
                        
                        mysql> insert into ky19 values(1,'zhusang',100,'riben',2);
                        
                        mysql> insert into ky19 values(2,'liangsang',59.89,'taiguo',2);
                        
                        mysql> insert into ky19 values(3,'wusang',80,'miandian',3);
                        
                        mysql> insert into ky19 values(4,'chenbao',99,'ouzhou',4);
                        
                        mysql> insert into ky19 values(5,'gangzi',88,'hanguo',5);
                        
                        mysql> insert into ky19 values(6,'xiangxi',66,'shanghai',3);
                        
                        mysql> insert into ky19 values(7,'jianjian',87,'cv',6);
                        
                        mysql> select * from ky19;
                        
                        

                        在這里插入圖片描述
                        在這里插入圖片描述

                        一、order by語句

                        (增、刪、改、查)
                        對MysQL數據庫的查詢,除了基本的查詢外,有時候需要對查詢的結果集進行處理。例如只取10條數據、對查詢結果進行排序或分組等等。

                        按關鍵字排序
                        PS:類比于windows任務管理器,使用SELECT語句可以將需要的數據從MySQL數據庫中查詢出來,如果對查詢的結果進行排序,可以使用ORDER BY語句來對語句實現排序,并最終將排序后的結果返回給用戶。這個語句的排序不光可以針對某一個字段,也可以針對多個字段

                        語法

                        SELECT column1,column2,... FROM table_name ORDER BY column1,column2,...
                        
                        ---- ORDER BY ----按關鍵字排序
                        語法:SELECT "欄位" FROM "表名" [WHERE "條件"] ORDER BY "欄位" [ASC, DESC];
                        #ASC 是按照升序進行排序的,是默認的排序方式。
                        #DESC 是按降序方式進行排序。
                        

                        二、升序與降序(ASC和DESC)

                        ASC:
                        是按照升序進行排序的,是默認的排序方式,即ASC可以省略。SELECT語句中如果沒有指定具體的排序方式,則默認按ASC方式進行排序。

                        DESC:
                        是按降序方式進行排列。當然 ORDER BY前面也可以使用WHERE子句對查詢結果進一步過濾。

                        三、select查詢

                        ---- SELECT ----顯示表格中一個或數個欄位的所有資料
                        語法:SELECT "字段" FROM "表名";
                        SELECT Store_Name FROM Store_Info;
                        

                        在這里插入圖片描述
                        在這里插入圖片描述
                        在這里插入圖片描述
                        在這里插入圖片描述

                        四、and/or-且/或

                        ---- AND OR ----且 
                        語法:SELECT "字段" FROM "表名" WHERE "條件1" {[AND|OR] "條件2"}+ ;
                        SELECT Store_Name FROM Store_Info WHERE Sales > 1000 OR (Sales < 500 AND Sales > 200);
                        

                        五、where

                        --- WHERE ----有條件查詢
                        語法:SELECT "字段" FROM "表名" WHERE "條件";
                        

                        在這里插入圖片描述

                        六、distinct(查詢不重復記錄)

                        ---- DISTINCT ----不顯示重復的資料
                        語法:SELECT DISTINCT "字段" FROM "表名";
                        SELECT DISTINCT Store_Name FROM Store_Info;
                        

                        在這里插入圖片描述
                        在這里插入圖片描述

                        定義兩個字段 name,hobbid以name作為計數統計,查詢表中score大于等于80的進行hobbid分組
                        在這里插入圖片描述

                        七、group by(對結果進行分組)

                        通過SQL查詢出來的結果,還可以對共進行分組,使用GROUP BY 語句來實現,GROUP BY通常都是結合聚合函數一起使用的,常用的聚合函數包括:計數( COUNT) 、求和(SUM)、求平均數(AVG)、最大值(MAX)、最小值(MIN),GROUP BY分組的時候可以按一個或多個字段對結果進行分組處理。
                        語法

                        SELECT column_name,aggregate_function (column_name)FROM table_name WHERE column_nameoperator valueGROUP BY column name;
                        
                        ---- GROUP BY ----對GROUP BY后面的欄位的查詢結果進行匯總分組,通常是結合聚合函數一起使用的
                        GROUP BY 有一個原則,就是 SELECT 后面的所有列中,沒有使用聚合函數的列,必須出現在GROUP BY后面。
                        
                        語法:SELECT "字段1", SUM("字段2") FROM "表名" GROUP BY "字段1";
                        

                        在這里插入圖片描述

                        在這里插入圖片描述

                        八、limit

                        限制結果條目( limit )
                        limit限制輸出的結果記錄
                        在使用MySQL SELECT語句進行查詢時,結果集返回的是所有匹配的記錄(行)。有時候僅需要返回第一行或者前幾行,這時候就需要用到LIMIT子句。

                        語法

                        SELECT column1,column2,... FROM table_name LIMIT [offset, ] number
                        

                        LIMIT的第一個參數是位置偏移量(可選參數),是設置 MysQL從哪一行開始顯示。如果不設定第一個參數,將會從表中的第一條記錄開始顯示。需要注意的是,第一條記錄的位置偏移量是0,第二條是1,以此類推。第二:個參數是設置返回記錄行的最大數目。

                        在這里插入圖片描述

                        在這里插入圖片描述

                        九、alias(設置別名)

                        設置別名( alias ——》as )
                        在MysQL查詢時,當表的名字比較長或者表內某些字段比較長時,為了方便書寫或者
                        多次使用相同的表,"可以給字段列或表設置別名。使用的時候直接使用別名,簡潔明了,增強可讀性
                        語法

                        對于列的別名:SELECT column_name AS alias_name FROM table_name;
                        對于表的別名:SELECT column_name (s)FROM table_name As alias_name;
                        

                        在使用AS 后,可以用alias_name代替table_name,其中 As i語句是可選的。AS之后的別名,主要是為表內的列或者表提供臨時的名稱,在查而過程中使用,庫內實際的表名或字段名是不會被改變的

                        在這里插入圖片描述
                        在這里插入圖片描述
                        在這里插入圖片描述

                        評論 2 您還未登錄,請先 登錄 后發表或查看評論

                        “相關推薦”對你有幫助么?

                        • 非常沒幫助
                        • 沒幫助
                        • 一般
                        • 有幫助
                        • 非常有幫助
                        提交
                        ??2022 CSDN 皮膚主題:數字20 設計師:CSDN官方博客 返回首頁

                        打賞作者

                        放棄?怎么活!

                        你的鼓勵將是我創作的最大動力

                        ¥2 ¥4 ¥6 ¥10 ¥20
                        輸入1-500的整數
                        余額支付 (余額:-- )
                        掃碼支付
                        掃碼支付:¥2
                        獲取中
                        掃碼支付

                        您的余額不足,請更換掃碼支付或充值

                        打賞作者

                        實付
                        使用余額支付
                        點擊重新獲取
                        掃碼支付
                        錢包余額 0

                        抵扣說明:

                        1.余額是錢包充值的虛擬貨幣,按照1:1的比例進行支付金額的抵扣。
                        2.余額無法直接購買下載,可以購買VIP、C幣套餐、付費專欄及課程。

                        余額充值
                        久久悠悠精品综合网