一.基礎的增刪改查的 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