SQL學習系列1:增刪改查

一.基礎的增刪改查的 SQL 命令,下邊會逐個詳細介紹

  • SELECT - 從數據庫中提取數據(distinct、order by、where、And/or)
  • UPDATE - 更新數據庫中的數據
  • DELETE - 從數據庫中刪除數據
  • INSERT INTO - 向數據庫中插入新數據

 

用到的數據庫舉例:

Employee 表包含所有員工信息,每個員工有其對應的 Id, salary 和 department Id。

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 60000  | 2            |
| 4  | Max   | 90000  | 1            |
+----+-------+--------+--------------+

二.SELECT - 從數據庫中提取數據

    1.select distinct:在表中,一個列可能會包含多個重複值,有時您也許希望僅僅列出不同(distinct)的值。DISTINCT 關鍵詞用於返回唯一不同的值。

  • 用法:比如提取Employee表中的不重複的DepartmentID列就用:
SELECT DISTINCT column_name,column_name
FROM table_name;
--例子:
Select distinct DepartmentID
FROM Employee

| DepartmentId |
 | 1            |
 | 2            |

    2.select的過濾:where 子句用於提取滿足指定條件的語句

用法:比如查詢第二個部門的所有人的信息

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
--例子:
Select * from Employee
where DepartmentId=2

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 60000  | 2            |

下面的運算符可以在 WHERE 子句中使用:

運算符 描述
= 等於
<> 不等於。註釋:在 SQL 的一些版本中,該操作符可被寫成 !=
> 大於
< 小於
>= 大於等於
<= 小於等於
BETWEEN 在某個範圍內
LIKE 搜索某種模式
IN 指定針對某個列的多個可能值

    3.select的過濾:AND & OR 運算符,AND過濾出兩個條件同時滿足的,OR只需要滿足一個條件就能過濾出

Employee 表包含所有員工信息,每個員工有其對應的 Id, salary 和 department Id。

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 60000  | 2            |
| 4  | Max   | 90000  | 1            |
+----+-------+--------+--------------+

AND用法:當需要輸出第一個部門的工資爲70000的人的所有信息時,就用AND

Select * from Employee
where DepartmentId=1 And Salary=70000

 +----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |

OR用法:當需要輸出Joe和Henry兩個人的所有信息時

Select * from Employee
where Name='Joe' And Name='Henry'--注意數據類型爲字符char時匹配需要加上''

 +----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |

    4.select 排序輸出:ORDER BY 關鍵字用於對結果集按照一個列或者多個列進行排序。

ORDER BY 關鍵字默認按照升序對記錄進行排序。如果需要按照降序對記錄進行排序,您可以使用 DESC 關鍵字。

ORDER BY用法:當需要對薪水進行升序排序輸出所有人的信息時

Select * from Employee
ORDER BY Salary

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+

| 3  | Sam   | 60000  | 2            |
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |
| 4  | Max   | 90000  | 1            |
+----+-------+--------+--------------+

三、INSERT INTO 語句,INSERT INTO 語句用於向表中插入新記錄。

SQL INSERT INTO 語法:

INSERT INTO 語句可以有兩種編寫形式。

第一種形式無需指定要插入數據的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二種形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

四、UPDATE 語句——UPDATE 語句用於更新表中的記錄。

用法:比如將Sam的工資改爲50000,部門改爲1

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
--例子
Update Employee
Set Salary=50000,DepartmentId=1
Where Name=Sam

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 50000  | 1           |
| 4  | Max   | 90000  | 1            |
+----+-------+--------+--------------+

五、DELETE 語句——DELETE 語句用於刪除表中的行。

SQL DELETE 語法:

DELETE FROM table_name
WHERE some_column=some_value;

比如刪除Id爲1的員工的所有信息:

Delete from Employee
Where Id=1

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 50000  | 1           |
| 4  | Max   | 90000  | 1            |
+----+-------+--------+--------------+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

部分摘自:

https://www.runoob.com/sql/sql-syntax.html

https://leetcode-cn.com/problems/department-highest-salary

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章