SQL的分類
- DDL:資料定義語言
CREATE\ALTER\RENAME(重命名)\DROP\TRUNCATE(清空表)
- DML:資料操作語言
INSERT\DELETE\UPDATE\SELECT(增刪改查)
- DCL:資料控制語言
COMMIT(提交)\ROLLBACK(回滾)\SAVEPOINT(把事物分的更細一點,回滾到哪一個點上)\GRANT(授予權限)\REVOKE(回收權限)
匯入現有資料表的方式
方式一:再終端m采用命令列方式,輸入命令:source 現有檔案名的全路徑;
方式二:基于具體的圖形化界面工具可以匯入資料
基本的select陳述句
# 1.基本的select查詢:select 欄位名1,欄位名2... from 表名;
SELECT 1+1,2*3; # 像這種不需要從表中獲取的可以省略from 表名 或者from 偽表
SELECT 1+1,2*3 FROM DUAL; # DUAL是一個偽表
SELECT * FROM employees; # 查詢所有的列
SELECT salary FROM employees;
# 2.列的別名
# 別名可以加雙引號(不要用單引號),也可以不加
# 別名可以前可以加個as,也可以不加
SELECT employee_id '員工id' FROM employees;
SELECT employee_id as '員工id' FROM employees;
# 3.去除重復行:DISTINCT關鍵字
SELECT DISTINCT department_id FROM employees;
# 4.空值參與運算
# 空值null
# null不等同于0,"","null"
SELECT employee_id,salary "月工資",salary*(1+commission_pct)*12 "年工資",commission_pct
FROM employees;
# 解決方案:引入ifnull函式
SELECT employee_id,salary "月工資",salary*(1+IFNULL(commission_pct,0))*12 "年工資",commission_pct
FROM employees;
# 5.著重號:如果出現欄位名或者表名和sql中的關鍵字重名了,就需要加著重號區分,
SELECT * FROM `order`;
# 6.查詢常數
# 大學不存在表中,我們可以添加常量表示,
SELECT "大學",last_name FROM employees;
# 7.顯示表結構
DESCRIBE employees;
DESC employees;
過濾資料語法
使用where關鍵字
SELECT * FROM employees
WHERE department_id=90;
sql運算子
- 算術運算子: + - * / %
在SQL中,+號沒有連接的作用,就表示加法運算,與字串進行相加減時會將字串轉為數值進行計算(隱式計算)
SELECT 100 + '1' FROM DUAL;
當字串無法轉為數值時,會轉換為0計算
SELECT 100 + 'a' FROM DUAL;
null值參與運算,結果為null
SELECT 100 + NULL FROM DUAL;
- 比較運算子:= != > < >= <= <=>
<=>意思是安全等于,主要是針對null值進行判斷,兩邊都為null回傳1,否則為0
like:模糊查詢
%:代表不確定個數的字符(0個、1個、無數個)
:代表一個不確定的字符
:代表轉義字符,_這時_就不代表一個不確定的字符了,就表示
正則運算式運算:詳見mysql資料
-
邏輯運算子:not and or xor(邏輯異或)
-
位運算子:暫略
-
運算子的優先級:()=> not => and => or
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/544795.html
標籤:其他