填空題 && 選擇題 && 討論 - 軟體安全
阿新 • • 發佈:2022-05-11
# 1.SQL的分類 /* DDL:資料定義語言。CREATE\ALTER\DROP\RENAME\TRUNCATE DML:資料操作語言。INSERT\DELETE\UPDATE\SELECT DCL:資料控制語言。COMMIT\ROLLBACK\SAVEPOINT\GRANT\REVOKE */ #2.匯入現有的資料表、表的資料。 /* 方式1:source 檔案的全路徑名 舉例:source E:\BaiduNetdiskDownload\atguigudb.sql; 方式2:基於具體的圖形化介面的工具可以匯入資料 比如:SQLyog中,選擇“工具”--“執行sql指令碼”--選中xxx.sql即可。 */ SELECT * FROM employees; # 1. 最基本的SELECT語句: SELECT 欄位1,欄位2,… FROM 表名 SELECT 1+1,3*2; #DUAL:偽表 SELECT 1+1,3*2 FROM DUAL; # *:表中的所有的欄位(或列) SELECT * FROM employees; SELECT employee_id,last_name,salary FROM employees; # 2.列的別名 # as:全稱為alias(意為別名),可以省略 # 還可以,列的別名用一對雙引號引起來,不要使用單引號。 SELECT employee_id emp_id,last_name AS lname,department_id "dep_id",salary*12 AS "annual sal" FROM employees; # 3.去除重複行 # 查詢員工表中一共有哪些部門id呢? # 錯誤的:沒有去重的情況 SELECT department_id FROM employees; # 正確的:去重的情況 SELECT DISTINCT department_id FROM employees; # 錯誤的: SELECT salary,DISTINCT department_id FROM employees; # 僅僅是沒有報錯,但是沒有實際意義,顯示的是每組dep+sal沒有重複的 SELECT DISTINCT department_id, salary FROM employees; # 4.空值參與運算 # 1.空值:null # 2.null不等同於0,'','null' # 3.空值參與運算,結果一定也為空。 SELECT employee_id, salary, commission_pct, salary*(1+commission_pct)*12 "年工資" FROM employees; # 實際問題的解決方案:引入ifnull SELECT employee_id, salary, commission_pct, salary*(1+IFNULL(commission_pct,0))*12 "年工資" FROM employees; # 5.著重號`` SELECT * FROM `order`; # 6.查詢常數,用來補充欄位 SELECT '尚矽谷', 123, employee_id, last_name FROM employees; # 7.顯示錶結構 DESCRIBE employees; DESC employees; # 8.過濾資料 #練習:查詢90號部門的員工資訊 SELECT * FROM employees #過濾條件,宣告在from結構的後面 WHERE department_id=90; #練習:查詢last_name為‘king’的員工的資訊 SELECT * FROM employees #字串用單引號表示;此處king不區分大小寫是MySQL的問題,不是因為Windows不區分大小寫 WHERE last_name='King';