Oracle的基本語法和操作
ORACLE中的幾大基本操作指令及其含義
資料定義語言(DDL):用於建立、修改、刪除資料庫的物件(對列操作)
1.CREATE:建立表或其他物件的結構
2.ALTER:修改表或其他物件的結構
3.DROP:刪除表或其他物件的結構
4.TRUNCATE:刪除表資料,保留表結構
資料操作語言(DML):用於修改表中的資料(對行操作)
1.INSERT:將資料插入到資料表中
2.UPDATE:跟新資料表中已經存在的資料
3.DELETE:刪除資料表中的資料
事務控制語言(TCL):用來維護資料一致性的語句
1.COMMIT
2.ROLLBACK:回滾,取消已經進行的資料改變
資料查詢語言(DQL):用來查詢需要的資料
1.SELECT:查詢
資料控制語言(DCL):用於執行許可權的授予和收回操作
1.GRANT:用於給使用者和角色許可權的授予
2.REVOKE:用於使用者和角色許可權的收回
3.CREATE USER:建立使用者
常用的Oracle語句:
建立一張表:
CREATE TABLE employee(
id NUMBER(6),
name VARCHAR2(20),
gender CHAR(1),
salery NUMBER(6,2)
)
查看錶結構:
DESC table_name;
修改表名:
RENAME old_name TO new_name;
增加列:
給表(emp)增加一列hiredate,並設定預設值為當前日期
ALTER TABLE emp ADD(
hiredate DATE DEFAULT sysdate );
刪除列:
刪除表emp的列hiredate
ALTER TABLE emp DROP(hiredate)
修改列:
修改表emp的列job,並增加預設值的設定
ALTER TABLE emp
MODIFY(job VARCHAR2(20) DEFAULT 'CLERK')
插入一條記錄:
INSERT INTO emp(id , name , job , salary)
VALUES(200 , 'jack' , 'SALEMAN' ,5500)
更改表中的資料:
更改職員ROSE的薪水為8500
UPDATE emp SET salary = 8500 WHERE name = 'ROSE'
刪除表中的資料:(如果沒有WHERE子句,則全表的資料都會被刪除)
刪除emp中職位為空的員工的記錄
DELETE FROM empWHERE job is null
刪除全表記錄:
DELETE FROM emp (速度慢,可以回退)
TRUNCATE TABLE emp(速度快,立即執行,不可回退)
字串函式:
CONCAT(char1 , char 2) 等價於連線操作字元 “||”
SELECT CONCAT(CONCAT(ename , ' :') , sal)
多個字串連線,使用||更直觀
SELECT ename || ' :'|| sal FROM emp;
LENGTH(char1):返回字串char1的長度
SELECT ename ,LENGTH(ename) FROM emp
UPPER(char)用於將字串中每個字元轉換為大寫形式
LOWER(char)用於將字串中每個字元轉換為大寫形式
INITCAP(char)用於將字串中每個單詞的首字母大寫,其餘字元小寫,單詞之間需要用空格或非字元分隔開
TRIM(c2 FROM C1)從c1的前後截去c2
LTRIM( c1 ,c2) 從c1的左邊截去c2
RTRIM(c1 , c2)從c1的右邊截去c2
LPAD、RPAD:補位函式,用於自字串char1的左邊或右邊用char2補足到n位,char2可以重複多次
LPAD(char1, n , char2) 左補位函式
RPAD(char1, n , char2) 有補位函式
NVL(expr1 , expr2):如果expr1是NULL,則取expr2
NVL2(expr1 ,expr2,expr3):如果expr1不是NULL,則取expr2,如果expr1是NULL,返回expr3.
運算子:
>,<,>=,<=,!=,<>,= ,AND, OR
[NOT] LIKE:模糊查詢
%:表示0到多個字元
-:表示單個字元
[NOT] IN(list)用來取出[不]符合列表範圍中的資料
BETWEEN e1 AND e2
用來查詢符合e1到e2範圍條件的資料,包含e1和e2
IS NULL 和IS NOT NULL:判斷欄位中的資料是否為NULL
ANY 和 ALL:不能單獨使用需要配合單行比較符> 、 >= 、 < 、<= 一起使用
> ANY:大於最小
.......
DISTINCT:過濾掉重複的資料 用法: DISTINCT colum-name
ODER BY : 按一定規則排序 ASC:升序排列,預設 DESC: 降序排列
聚合函式:
MAX() MIN() :用來取得列或表示式的最大值或最小值
AVG() SUM():用來統計列或表示式的平均值和總和
COUNT():用來計算表中的記錄條數,忽略NULL值
聚合函式忽略NULL值,所以使用時一般會對空值使用NVL或NVL2進行處理
GROUP BY :分組查詢,查詢的出來結果是以組進行操作後的資料
HAVING子句:用來對分組後的結果進一步限制,比如按部門分組後,得到每個部門的最高薪水,可以繼續限制輸出結果
必須跟在GROUP BY後面,不能單獨存在
——查詢每個部門的最高薪水,只有薪水高於5000的記錄才被顯示出來——
SELECT deptno , MAX(sal) FROM emp
GROUP BY deptno HAVING MAX(sal) > 5000;
查詢語句執行順序:
1.FROM 子句,執行順序為從後往前、從右到左
資料量少的表儘量放在後面
2.WHERE子句:執行順序為自上而下,從右到左
將能過濾掉最大數量記錄的條件寫在WHERE子句的最右
3.GROUP BY:執行順序為從左向右分組
最好在GROUP BY之前使用WHERE將不需要的記錄在GROUP BY之前過濾掉
4.HAVING子句:消耗資源
儘量避免使用,HAVING會在檢索出所有記錄之後才對結果進行過濾,需要排序等操作
5.SELECT子句:少使用*號,儘量取欄位名稱
ORACLE在解析的過程中,通過查詢資料字典將*號一次轉換為所有的列名,消耗時間和記憶體
6.ORDER BY :執行順序為從左到右排序,消耗資源
關聯查詢:
內連線:返回所有滿足連線條件的記錄
SELECT e.ename , d.dname
FROM emp e , dept d
WHERE e.deptno = d.deptno;
SELECT e.ename , d.dname
FROM emp e [INNER] JOIN dept d
ON(e.deptno = d.deptno);
左外連線:
emp表所為驅動表,以emp表為準
SELECT e.ename , d.dname
FROM emp e LEFT [OUTER] JOIN dept d
ON e.deptno = d.deptno;
右外連線:
emp表所為驅動表,以emp表為準
SELECT e.ename , d.dname
FROM emp e RIGHT [OUTER] JOIN dept d
ON e.deptno = d.deptno;
全外連線:左外連線和有外連線的查詢結果的總和
SELECT e.ename , d.dname
FROM emp e FULL OUTER JOINdept d
ON e.deptno = d.deptno;
自連線:一種特殊的連線查詢,資料來源是一張表,即關聯關係來自於單表的多個列
相關推薦
Oracle的基本語法和操作
ORACLE中的幾大基本操作指令及其含義 資料定義語言(DDL):用於建立、修改、刪除資料庫的物件(對列操作) 1.CREATE:建立表或其他物件的結構 2.ALTER:修改表或其他物件的結構 3.DROP:刪除表或其他物件的結構
Matlab基本語法和基本操作
a = 1 2 3 4 5 6 7 8 9 a = 1 3 5 7 9 ans = 0 0 0 0 0 0 Your
Xml一(基本語法和約束)、
字符 一行 語言 oca cas 書寫 xsd ati 寫法 XML:eXtensible Markup Language 可擴展標記語言 version="1.0" * 可擴展:所有的標簽都是自定義的。 * 功能:數據存儲 * 配置文件
花了兩天時間學習了 sass, less, stylus的基本語法和簡單使用, 談談感受.
列表 stylus 單點 blank 明顯 一點 css 自動編譯 數據 花了兩天時間學習了 sass, less, stylus的基本語法和簡單使用, 談談感受. 1. 變量的問題 1.1變量的表示 sass有個$var, [email protected]/
Kotlin基本語法和使用
activit ext eset ans 默認 構造器 span 變量 tag Kotlin 是一個基於 JVM 的新的編程語言,由 JetBrains 開發。與Java相比,Kotlin的語法更簡潔、更具表達性,而且提供了更多的特性。 Kotlin是使
scala基本語法和單詞統計
引用 包裝類 tab 組成 oop imp 2個 err 方法調用 scala 基本語法 1.聲明變量 (1)val i = 1 使用val聲明的變量值是不可變的,相當於java裏final修飾的變量,推薦使用。(2)var i = "hello" 使用var聲明的變量值是
tensorflow學習筆記(1)-基本語法和前向傳播
pla oba -a 訓練 style lac 好的 ini 神經元 tensorflow學習筆記(1) (1)tf中的圖 圖中就是一個計算圖,一個計算過程。
Docker基本介紹和操作
後臺 掛載點 遷移 layer 其中 for 時間 自啟動 exe Docker基本介紹和操作 Docker基本介紹 什麽是Docker Docker 最初是 dotCloud 公司創始人 Solomon Hykes 在法國期間發起的一個公司內部項目,它是基於 dotClo
Kotlin 基本語法和寫法
定義包 package my.demo import java.util.* 目錄與包的結構無需匹配:原始碼可以在檔案系統的任意位置。 定義函式 帶有兩個 Int 引數、返回 Int 的函式: fun sum(a: Int, b: Int): Int { r
lua 1 基本語法和注意事項
筆記總結自: http://www.runoob.com/lua/lua-data-types.html 基本資料型別: 資料型別 描述 nil 這個最簡單,只有值nil屬於該類,表示一個無效值(在條件表示式中相當於false)。
Excel零基礎入門——02Excel基本概念和操作
上節課大家已經體驗到了Excel的操作了,如果成功做完了小例子,那就更牛氣了,但只會操作不懂裡面的術語和原理就不太好了,本節課帶領大家初始熟悉一下Excel的環境、基本概念和基礎操作。咱要做個有文化的Excel人。 記住快捷鍵,秒殺老司機! 1、基本概念 大家把這裡當做字典,可以直接略過
1.oracle 基本語法
1.資料庫:存放資料的倉庫; 2.常見的資料庫:Access、Sql Sever、Oracle、DB2、Mysql(免費) 3.欄位:表中的列; 實體:表中的一行對於一個實體,或者叫做一條記錄; 4.資料型別: 1.Varchar
SecureCRT的基本用法和操作
SecureCRT的基本用法和操作 2018年02月08日 14:15:25 漫天飛舞的雪花 閱讀數:15903 SecureCRT是最常用的終端模擬程式,簡單的說就是Windows下登入UNIX或Liunx伺服器主機的軟體,本文主要介紹SecureCRT的使用方法和技巧
HTML基本語法和語義寫法規則與例項
DOCTYPE DOCTYPE(Document Type) 該宣告位於文件中最前面的位置,處於html標籤之前,此標籤告知瀏覽器文件使用哪種HTML或者 XHTML規範。 DTD(Document Type Definition) 宣告以<!DOCTYPE>開始,不區分大小寫,前面沒有任何內容
git的基本搭建和操作
1.6 起步 - 初次執行 Git 前的配置 初次執行 Git 前的配置 既然已經在系統上安裝了 Git,你會想要做幾件事來定製你的 Git 環境。 每臺計算機上只需要配置一次,程序升級時會保留配置資訊。 你可以在任何時候再次通過執行命令來修改它們。 Git 自帶一
分享知識-快樂自己:Oracle基本語法(建立:表空間、使用者、授權、約束等)使用指南
--2.1)建立主鍵約束-- alter table Student add constraint PK_Student_StuId primary key(StuId); alter table StuClass add constraint PK_StuClass_ClassId primar
ORACLE 基本語法
查詢序列:SELECT SEQ_PM_PRODUCT_TREE.nextval FROM DUAL 刪除序列:drop sequence SEQ_PM_PRODUCT_TREE; 建立序列:create sequence SEQ_PM_PRODUCT_TREE star
CSS基本語法和選擇器
CSS是指層疊樣式表(cascading style sheets),樣式定義如何顯示HTML元素,是真正能夠做到網頁表現和內容分類的一種語言。 【1】CSS基本語法 【2】CSS兩種結合方式 【3】
Oracle基本語法查詢語句
Oracle基本查詢語法 本文含含: 基礎/基本查詢/排序/函式(單/多) 一.前言知識 1.oracle如何操作硬碟上的檔案,最終都是以程序方式操作硬碟上的檔案,最基本程序:讀 寫 ,還有其他客戶端
Makefile (3) 基本語法和使用
make是用來管理一個工程專案的工具 . Makefile就是這個專案檔案 . 1.Makefile 是由若干條規則組成的,每個規則的語法如下所示 : #規則 targets: prerequisites command #舉例 main.c func1.c