MYSQL學習02--MySQL基礎操做

學習sql的基本查詢。mysql

一、Mysql查詢語句

語法:sql

SELECT  
    column_1, column_2, ...
FROM
    table_1
[INNER | LEFT |RIGHT] JOIN table_2 ON conditions
WHERE
    conditions
GROUP BY column_1
HAVING group_conditions
ORDER BY column_1
LIMIT offset, length;

查詢多列數據:express

SELECT 
    lastName,firstName,jobTitle
FROM 
    employees;

查詢全部數據:函數

SELECT * FROM employees;

條件查詢:學習

SELECT
    lastName,firstName,jobTitle
FROM
    employees
WHERE
    jobTitle = 'Sales Rep';

二、Mysql刪選語句

語法:編碼

DELETE FROM table_name
WHERE condition;

刪除全部officeNumber爲4的員工:3d

DELETE FROM employees 
WHERE officeCode = 4;

三、分組語句

GROUP BY 語句根據一個或多個列對結果集進行分組。在分組的列上咱們可使用 COUNT, SUM, AVG,等函數。代碼規範

統計同一條產品線上生產多少種產品:code

SELECT productLine,COUNT(productLine) FROM products GROUP BY productLine HAVING COUNT(productLine)>1;blog

四、排序

咱們知道從 MySQL 表中使用 SQL SELECT 語句來讀取數據。若是咱們須要對讀取的數據進行排序,咱們就可使用 MySQL 的 ORDER BY 子句來設定你想按哪一個字段哪一種方式來進行排序,再返回搜索結果。

按價格降序排序:

SELECT * From products ORDER BY buyPrice DESC LIMIT 10;

五、函數使用

  • MySQL 字符串函數: CONCAT(s1,s2...sn)、FORMAT(x,n)等等,對字符串進行處理。

  • MySQL 數字函數:常見的有COUNT(expression)、AVG(expression)、AVG(expression),對數值變量進行數學運算。

  • MySQL 日期函數:CURDATE(),DATE()等等,對日期類型的值進行處理,或者獲取某個時間的日期。

  • MySQL 高級函數:CAST(x AS type),BINARY(s)等等,一些高級用法。

六、sql註釋以及代碼規範

關於SQL編碼規範,參考https://zhuanlan.zhihu.com/p/27466166

七、實戰練習

創建以下2張表,而且插入數據:

CREATE TABLE email( ID INT NOT NULL PRIMARY KEY, Email VARCHAR(255) )

INSERT INTO email VALUES('1','a@b.com'); 
INSERT INTO email VALUES('2','c@d.com'); 
INSERT INTO email VALUES('3','a@b.com');

CREATE TABLE World ( name VARCHAR(50) NOT NULL, continent VARCHAR(50) NOT NULL, area INT NOT NULL, population INT NOT NULL, gdp INT NOT NULL );

INSERT INTO World
  VALUES('Afghanistan','Asia',652230,25500100,20343000); 
INSERT INTO World
  VALUES('Albania','Europe',28748,2831741,12960000); 
INSERT INTO World 
  VALUES('Algeria','Africa',2381741,37100000,188681000); 
INSERT INTO World
  VALUES('Andorra','Europe',468,78115,3712000); 
INSERT INTO World
  VALUES('Angola','Africa',1246700,20609294,100990000);
  • 問題1:查找重複的電子郵箱
Email,COUNT(Email)
FROM 
    email 
GROUP BY 
    Email
HAVING 
    COUNT(Email) > 1;

  • 問題2:查找大國,若是一個國家的面積超過300萬平方千米,或者(人口超過2500萬而且gdp超過2000萬),那麼這個國家就是大國家。

SELECT * FROM World WHERE area >3000000 OR population > 25000000 AND gdp > 20000000;

相關文章
相關標籤/搜索