基本概念
數據庫對象
表
約束條件
視圖
索引
序列
同義詞
存儲過程
函數
觸發器
包
數據庫安全
端口
環境變量
使用US
////////////////////////////////////////////////////////////////////////////////////////////////////////////
基本的SQL SELECT 語句
口令中的第一個字符不能為數字
語句
(一)查詢
數據操作語句
(二)合並
(三)事務控制語句
SAVEPOINT 存儲點(與 ROLLBACK 搭配使用)在回滾的時候可以回滾到某個存儲點上
(四)數據定義語句
(五)權限控制語句(DCL)
SELECT
SELECT 查詢列表 FROM 數據源
*&* SQL命令必須加分號
ALTER USER HR IDENTIFIED BY HR ACCOUNT UNLOCK
修改用戶 解鎖
給HR解鎖
CONNECT(conn) HR/HR(密碼) 用HR用戶連接數據庫
*&*(不是SQL命令 是 SQLPLUS 命令)不用加分號
DESCRIBE(desc) DEPARTMENTS
關鍵字 表名
描述表命令(SQLPLUS 命令)
SQL語句說明
(
(
(
(
(
數字和日期都可以使用數學運算符建立表達式
+
日期可以加減數字
日期不能加日期
字符不能加減
定義空(NULL)值
空值出現在表達式中會導致整個表達式的值為空
NVL(字段名
作用
annual_salary年薪
別名
可以加中文的字段別名
如果想強制地改變列名的大小寫
例
select lastname as
spool +路徑
保存命令(將顯示保存)
連接操作符
||
select lastname ||
select last_name ||
~~~
在單引號中還要使用單引號的話
文本字符串
*可以代表字符
*當代表字符或日期的時候用單引號括起來
在查詢時默認顯示所有的行
DISTINCT 消除重復行關鍵字
作用范圍
消除重復行後會按字段的特性
select distinct department_id
SQLPLUS 與 SQL 的關系
SQL *是一種語言
*ANSI標准
*關鍵字不能縮寫
*用於操作數據庫中的數據和表的定義
SQLPLUS命令的功能
*描述表的結構
*編輯SQL語句
查詢 SQLPLUS 命令
help + 命令
SQLPLUSW 在 WINDOWS 下運行的分析器
登陸ISQLPLUS
(
(
~~~~~~~~~~~~~~~
URL(網頁中的地址)
SQLPLUS 命令
與文件相關的命令
spool + 路徑
spool off
save
把當前內存中的語句保存為文本文件
run 或 /
運行當前內存中的語句
clear buffer(cl buff)
清空當前內存中的語句
start @
讀取並執行
get
讀取不執行
編輯命令
list
列出一條語句
*表示當前行
change
修改命令
原來c/jj/kk
c/jjj/xxx
input
在當前行之後插入一行新的數據
append
在當前行中插入新的東西
n
寫數字顯示對應行
delete
del + 回車 刪除當前行
del
edit
l
查看當前用戶
SHOW USER
默認的日期格式
DD
日
日期可以進行比較
字符可以進行比較(以字母的ASCLL碼比較)
IN(set)或NOT IN 匹配任何列表中的值
LIKE 模糊匹配字符串值
IS NULL 是否空值
IS NOT NULL 是否不為空
BETWEEN 可以做數字
通配符
%
S_mith
WHERE first_name like
解釋這個符號後的下劃線為正常的字符
如果不加
主要用於通配固定位數的字符
邏輯操作符(用在WHERE子句中)
AND
OR
NOT
先執行 NOT
ORDER BY
ORDER BY子句在 SELECT 語句的最後
ASC
DESC
空值作為無窮大來處理
rownum 顯示行數量約束的關鍵字(在結果中可以做代理鍵使用)
可以按照查詢列表中序號進行排序
系統在用戶寫出查詢列表的同時就賦予每個列名一個序號
例
SELECT name
單行函數
*修改數據項
*接受參數返回一個值
*對每行進行操作
*每行返回一個結果
*可以修改數據類型
*可以嵌套
character字符類型函數
LOWER()強制小寫
UPPER()強制大寫
INITCAP()每個單詞首字母大寫
可以用在WHERE子句中
CONCAT(
{
SUBSTR(string
SUBSTRB(string
SUBSTRC(string
SUBSTR
SUBSTR
以上函數都是返回string的一部分
}
{
LENGTH(string)
LENGTHB(string)
LENGTHC(string)
LENGTH
LENGTH
以上函數返回string的長度
}
{
INSTR(string
INSTRB(string
INSTRC(string
INSTR
INSTR
以上函數返回string
}
LPAD(列名
RPAD(列名
TRIM(
默認為截取空格
LTRIM()左截取
RTRIM()右截取
ascii(x)函數
chr(x)函數
length(x)函數
replace(x
soundex(x)函數
例
translate(x
例
NLS函數
除了NCHR
CONVERT(string
將輸入string轉換為指定字符集dest_charset
VARCHAR
NCHR(X)
返回數據庫國家字符集中值為X的字符
NLS_CHARSET_DECL_LEN(byte_width
返回一個NCHAR值的聲明寬度(以字符為單位)
NLS_CHARSET_ID(charset_name)
返回指定字符集charset_name的數字ID
NULL
NLS_CHARSET_NAME([charset_id])
返回指定字符集ID charset_id 的名字
NLS_INITCAP(string[
以字符串中每個單詞第一個字符大寫而單詞中其余字母小寫的形式返回string
NLS_UPPER(string[
以大寫形式返回string
NLS_LOWER
以小寫形式返回string
NLSSORT(string[
返回用於排序string的字符串字節
如果沒有指定nlsparams
TRANSLATE(string USING {CHAR_CSINCHAR_CS})
TRANSLATE
如果輸入值包含UCS
例
SQL> select translate(
TRANSL
asd
SQL> select translate(
TRA
asd
UNSTR(s)
返回轉換為數據庫UNICODE字符集的字符串
TRANSLATE
general
//number
//conversion
//date
多行函數
From:http://tw.wingwit.com/Article/program/Oracle/201311/18007.html