/** 為了清晰化的顯示:所有固定命令都是用大寫格式顯示 SQL語法分類:DML,DDL,DCL (1)DML(Data Manipulation Language ,資料庫操作語言): 數據:增加,修改,刪除 (2)DDL(Data Definition Language,資料庫定義語言 ): 數 ...
/** 為了清晰化的顯示:所有固定命令都是用大寫格式顯示
SQL語法分類:DML,DDL,DCL
(1)DML(Data Manipulation Language ,資料庫操作語言):
數據:增加,修改,刪除
(2)DDL(Data Definition Language,資料庫定義語言 ):
數據表的結構的定義,進行資料庫對象的定義(用戶,數據表,模式名稱)
(3)DCL(Data Control Lanaguage,數據控制語言):授權管理
SQL語句執行順序:①FROM ,②WHERE ,③SELECT
**/
1.Oracle常用指令:
啟動Oracle:(1)首先檢查服務選項 “OracleServiceXXX”,“OrcaleOraDbllg_home1TNSListener” 兩個服務是否啟動;
(2)打開 “運行”或者進入cmd進入命令行界面輸入 :
“sqlplus ” 或者
“sqlplus 用戶名/密碼“
2. 設置結構顯示:
(1)SET LINESIZE 100 ; //設置每行顯示長度
(2)SET PAGESIZE 30 ; //設置每頁顯示的數據行數
(3)COL tname FOR A20 ; //設置列的格式化顯式
3.用戶切換:
CONN[ECT] 用戶名/密碼 [AS SYSDBA | SYSUSER] // 切換用戶
例如: CONN sys/change_on_install AS SYSDBA //切換到超級用戶
CONN system/manager //切換到普通用戶
4.基本語句:
SELECT * FROM tab ; //查詢當前資料庫下所有表名
DESC 表名; //查看表的結構
SELECT * FROM 表名 ; //查詢該表全部信息
SELECT * FROM 用戶名.表名 ; //指定用戶名,查詢該用戶下的表
SELECT 列名[別名] ,列名[別名].... FROM 表名 ; //查詢指定列的信息
SELECT 列名 AS 別名 FROM 表名; //定義表名,Oracle的語句中AS可以省略
SELECT job,sal * 10 + 20*10 as income FROM emp; //查詢職業,10倍月薪加上20乘以10
SELECT DISTINCT 列名 FROM 表名 ; //查詢 列信息並去掉其中的重覆信息,DISTINCT去重
SELECT '常量' ,列名 FROM 表名 ; // 查詢常量,常量需要使用 “ ' ” (單引號) 包括起來
SELECT '常量' || 列名 FROM 表名 ; //使用 " || " 實現數據的連接顯示
HOST copy d:\hello\a.txt d:\hello\b.txt //進行文件的拷貝
5.限定查詢
限定查詢,基本執行語句:
③SELECT [DISTINCT ] 列名[別名]
①FROM 表名 [別名]
②WHERE 限定條件 ;
常用判斷(使用一個運算符的性能是高於多個運算符的):
• 關係運算符: >,<, >= ,>= , = , != ;
• 邏輯運算符:AND , OR ,NOT【非】 ;
• 特殊運算符: BETWEEN...AND ,IN ,NOT IN ,LIKE 、
• " % " :匹配0 位,1位或者多位任意字元
• " _ " :匹配任意一位字元
SELECT * FROM 表名 WHERE NOT ( age >10 OR sal<100000 ); //查詢表裡年齡小於10或者工資高於100000的人員信息 ,註意有括弧
SELECT * FROM 表名 WHERE ename LIKE ' A% ' ; //查詢所有以A開頭的姓名
SELECT * FROM 表名 WHERE ename LIKE ' _A% ' ; //查詢所有第二位為A開頭的姓名
SELECT * FROM 表名 WHERE ename LIKE ' %A% ' ; //查詢所有任意位有A的姓名
6.查詢排序:
SQL語句執行順序
③SELECT [DISTINCT ] 列名[別名]
①FROM 表名 [別名]
②WHERE 限定條件 ;
④[ORDER BY 排序欄位名稱 [ASC | DESC] ]
ORDER BY :根據欄位排序
ASC:升序,如果不設置排序類型,預設採用升序
DESC:降序,須手工設置
SELECT * FROM emp ORDER BY sal DESC ; //查詢工資根據降序排序
SELECT * FROM emp WHERE age=11 ORDER BY sal DESC ; //查詢年齡為11的工資根據降序排序
SELECT * FROM emp WHERE age=11 ORDER BY sal DESC,hiredate ASC ; //查詢年齡為11的工資根據降序排序,入職日期為升序排序