1. 程式人生 > >MYSQL學習01--MySQL基礎操作

MYSQL學習01--MySQL基礎操作

.com enum ont delete code mysql基礎 select creat 就是

學習sql的基本查詢。

1、Mysql查詢語句

語法:

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;

查詢多列數據:

SELECT 
    lastName,firstName,jobTitle
FROM 
    employees;

查詢所有數據:

SELECT * FROM employees;

條件查詢:

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

2、Mysql刪選語句

語法:

DELETE FROM table_name
WHERE condition;

刪除所有officeNumber為4的員工:

DELETE FROM employees 
WHERE officeCode = 4;

3、分組語句

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

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

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

4、排序

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

按價格降序排序:

SELECT * From products ORDER BY buyPrice DESC LIMIT 10;

5、函數使用

  • 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)等等,一些高級用法。

6、sql註釋以及代碼規範

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

7、實戰練習

建立如下2張表,並且插入數據:

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

```INSERT INTO email VALUES(‘1‘,‘[email protected]‘);

INSERT INTO email VALUES(‘2‘,‘[email protected]‘);

INSERT INTO email VALUES(‘3‘,‘[email protected]‘);```

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;
技術分享圖片

MYSQL學習01--MySQL基礎操作