Oracle简单SQL语句(详细!!!)
文章目錄
- 前言
- 一、Sql語句基礎
- 二、Oracle中的主要的數據類型
- 三、Sql語句分類
- 四、SQL語句的書寫規則
- 注意
- 五、運算符的優先級
- 六、空值的使用
- 知識點
- 空值的運算表達式
- 七、文本字符串的使用
- 八、輸出結果中列標題的默認顯示
- 1、Sql*plus的默認顯示
- 2、iSql*plus的默認顯示
- 九、Oracle中簡單的創建表
- 案例:新建表
- 十、Oracle簡單的刪除表
- 案例:刪除表
- 十一、Oracle中對表的簡單查詢操作
- 案例一:查詢表的數據
- 案例二:查詢表的結構
- 十二、從表中查詢部分字段
- 案例:查詢部分字段
- 十三、對表中數據進行簡單運算
- 案例:數據進行簡單運算
- 十四、定義字段的別名
- 知識點
- 案例:起別名
- 十五、字符串的連結操作符使用
- 知識點
- 案例一:簡單合并運算
- 案例二:字符數據運用及空值的運算
- 十六、對表中數據進行修改
- 十七、 對日期型數據進行加減運算
- 案例一
- 案例二
- 十八、去除重復行
- 知識點
- 案例一:去除單列重復數據
- 案例二:去除多列重復數據
- 十九、限定所選擇查詢記錄
- 知識點
- 案例一:注意單引號
- 案例二:字符型數據
- 案例三:日期型數據
- 案例四:在查詢條件中使用比較運算符
- 案例五:邏輯運算符
- 二十、對查詢數據的排序
- 知識點
- 案例一:普通升降序
- 案例二:按照多個字段進行排序
- 案例三:使用字段的別名來進行排序
- 總結
前言
此篇文章是我在B站學習時所做的筆記,主要對Oracle數據庫部分SQL語句做了簡單的介紹,文中的數據庫為已建好的數據庫,為方便演示用的。此篇文章僅供學習參考,禁止轉載!
提示:以下是本篇文章正文內容,下面案例可供參考
一、Sql語句基礎
二、Oracle中的主要的數據類型
三、Sql語句分類
四、SQL語句的書寫規則
注意
SQL語句是不區分大小寫的,包括登錄的用戶名,密碼都是不區分大小寫的,且要注意輸入的符號要英文半角格式。
SeLEcT * FrOm A_CHENS; --等價于 SELECT * FROM A_CHENS;五、運算符的優先級
六、空值的使用
知識點
空值的運算表達式
七、文本字符串的使用
八、輸出結果中列標題的默認顯示
1、Sql*plus的默認顯示
- Date和character型數據左對齊
- Numeric型數據右對齊
- 列標題默認顯示為大寫(如:EMPNO,ENAME,JOB…)
2、iSql*plus的默認顯示
- 列標題缺省居中對齊
- 列標題默認顯示為大寫
摘自B站
九、Oracle中簡單的創建表
案例:新建表
CREATE TABLE A_CHENS (ID NUMBER(4) PRIMARY KEY,NAME VARCHAR(10),SEX CHAR(2),ADDR VARCHAR2(20),BIRTHDAY DATE,SAL NUMBER(8,2) );注意:
步驟一:點擊選擇“My objects”
步驟二:點擊左上角“File-New-SQL Window”
步驟三:在彈出的SQL Window窗口中輸入sql建表語句,選中所有語句,點擊左上角齒輪運行
步驟四:點擊Tables,右鍵refresh刷新一下,找到新建的表CHENS,右鍵點擊“Edit data”可查看表內容。
十、Oracle簡單的刪除表
案例:刪除表
DROP TABLE A_CHENS;步驟:在SQL Window窗口中輸入刪除語句,選中所有語句,點擊左上角齒輪運行,即可刪除。
刪除前:
刪除后:
十一、Oracle中對表的簡單查詢操作
案例一:查詢表的數據
SELECT * FROM A_CHENS;步驟:在SQL Window窗口中輸入查詢語句,選中所有語句,點擊左上角齒輪運行,即可顯示結果。
案例二:查詢表的結構
注意:只能在命令行的模式下使用
DESC A_CHENS;步驟一:點擊左上角“File-New-Command Window”。
步驟二:在彈出的Command Window窗口中輸入查詢語句,即可得到結果。
十二、從表中查詢部分字段
原表數據:
案例:查詢部分字段
注意:此表A_CJJ_3為已建好表
--SELECT 語句的使用 --從表中查詢部分的字段 SELECT CHENGJI,XUENIAN,XINGMING,KEMU FROM A_CJJ_3;步驟:在SQL Window窗口中輸入需查詢部分字段的語句,選中所有語句,點擊左上角齒輪運行,即可得結果。
十三、對表中數據進行簡單運算
案例:數據進行簡單運算
--在查詢過程中,對于數值型的數據,可以執行+,-,*,/運算 SELECT CHENGJI,CHENGJI*2,XUENIAN,XINGMING,KEMU FROM A_CJJ_3;步驟:在SQL Window窗口中輸入需運算的語句,選中所有語句,點擊左上角齒輪運行,即可得結果。
十四、定義字段的別名
知識點
注意:如果字符型寫小寫不加雙引號,會強制輸出大寫表名,若需保持大小寫或小寫,則需加雙引號。
案例:起別名
--可以給查詢字段起別名,有不同的方式,可以不用"",也可以不用"",可以用As(as),也可以不用As SELECT CHENGJI "ChengJi",CHENGJI*2 兩倍成績,XUENIAN "學年",XINGMING as 姓名,KEMU As 科目,PINGSHIFEN psf FROM A_CJJ_4;步驟:在SQL Window窗口中輸入命名語句,選中所有語句,點擊左上角齒輪運行,即可得結果。
十五、字符串的連結操作符使用
知識點
案例一:簡單合并運算
- 用 || 可以將兩列或多列查詢結果合并到一起
(注意:此處的表A_CJJ_4是已建好的)
結果:
案例二:字符數據運用及空值的運算
- 在連接表達式中出現字符數據,字符型的數據必須要使用單引號’ ’
- 在連接表達式中出現null,就是原來的字符型數據,即原來是null,現在還是null類型
結果:
十六、對表中數據進行修改
SELECT * FROM A_CJJ_4 FOR UPDATE;十七、 對日期型數據進行加減運算
案例一
- 對于日期型的數據可以使用+,-運算符
- 1個日期 ±1個數值(就是±1個天數)=1個新的日期
結果:
案例二
- SYSDATE取得系統當前日期
- 2個日期型的數據相減,得到的是兩者之間相差的天數
- 2個日期型的數據不能相加,日期型的數據不能進行乘除運算
結果:
十八、去除重復行
知識點
- 缺省情況下查詢顯示所有行,包括重復行,使用DISTINCT關鍵字可從查詢結果中清除重復行
- DISTINCT的作用范圍是后面所有宇段的組合
查看表A_CHENS的原始數據
SELECT * FROM A_CHENS;結果:
案例一:去除單列重復數據
--去除單列重復數據 SELECT DISTINCT NAME FROM A_CHENS;結果:
案例二:去除多列重復數據
--去除多列重復數據 SELECT DISTINCT ADDR,BIRTHDAY FROM A_CHENS;結果:
十九、限定所選擇查詢記錄
知識點
1、Where中的字符串和日期值
- 字符串和日期要用單引號擴起來
- 字符串是大小寫敏感的,日期值是格式敏感的
- 缺省的日期格式是’DD-MON-YY’
2、使用BETWEEN運算符
- 使用BETWEEN運算符顯示某一值域范圍的記錄
3、使用IN運算符
- 使用IN運算符獲得匹配列表值的記錄
4、使用LIKE運算符
- 使用LIKE運算符執行通配查詢
- 查詢條件可包含文字字符或數字
(%)可表示零或多個字符
(_)可表示一個字符
5、使用IS NULL運算符
- 查詢包含空值的記錄
案例一:注意單引號
- 對于字符型的數據和日期型的數據必須使用單引號’ ’
正確:
--使用WHERE子句對數據進行過濾 --對于字符型的數據和日期型的數據必須使用單引號'' SELECT * FROM A_CHENS WHERE NAME='陳一';結果:
錯誤語句:
結果:
案例二:字符型數據
- 字符型的數據對大小寫是敏感的
正確:
--字符型的數據對大小寫是敏感的 SELECT * FROM A_CHENS WHERE PASSWORD='chenyi';結果:
例子:
SELECT * FROM A_CHENS WHERE PASSWORD='CHENGYI';結果:
案例三:日期型數據
正確:
--對日期型數據,格式是敏感的,使用日期型數據的格式是DD-MM-YYY(日-月-年) SELECT * FROM A_CHENS WHERE BIRTHDAY='20-7月-2001';結果:
錯誤一: 輸入日期型格式不對
--對日期型數據,格式是敏感的,使用日期型數據的格式是DD-MM-YYY(日-月-年) SELECT * FROM A_CHENS WHERE BIRTHDAY='2001-7-20';結果:
錯誤二: 由于系統設置中文的編碼格式,缺少“月”字
--對日期型數據,格式是敏感的,使用日期型數據的格式是DD-MM-YYY(日-月-年) SELECT * FROM A_CHENS WHERE BIRTHDAY='20-7-2001';結果:
案例四:在查詢條件中使用比較運算符
where中的比較運算符
| = | 等于 |
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
| <> 或 != | 不等于 |
其他的比較運算符
| BETWEEN…AND… | 在兩值之間(包含) |
| IN(list) | 匹配列出的值 |
| LIKE | 匹配一個字符模式 |
| IS NULL | 是空值 |
案例五:邏輯運算符
| AND && | 如果組合的條件都是TRUE,返回TRUE |
| OR || | 如果組合的條件之一是TRUE,返回TRUE |
| NOT ! | 如果下面的條件是FALSE,返回TRUE |
優先級規則
| 1 | 所有的比較運算 |
| 2 | NOT |
| 3 | AND |
| 4 | OR |
(注意:括號將跨越所有優先級規則)
--NOT AND OR的運算順序 SELECT * FROM A_CHENS WHERE NAME='陳一' AND PASSWORD='chenyi';--admin' OR 'x'='x --SQL注入攻擊 SELECT * FROM A_CHENS WHERE NAME='陳一' OR ('X'='X' AND PASSWORD='chenyi'); -- = WHERE NAME='陳一' OR 'X'='X' AND PASSWORD='chenyi';二十、對查詢數據的排序
知識點
- 使用ORDER BY子句將記錄排序
ASC:升序,缺省
DESC:降序 - ORDER BY子句出現在SELECT語句的最后
- 使用列的別名排序
案例一:普通升降序
--對查詢后的數據進行排序,使用ORDER BY子句 SELECT * FROM A_CJJ_4 WHERE CHENGJI>80 ORDER BY CHENGJI;--顯示的時候默認的按照指定的字段升序排列 SELECT * FROM A_CJJ_4 ORDER BY CHENGJI; --用指定的字段顯示的指定升序排序 SELECT * FROM A_CJJ_4 ORDER BY CHENGJI ASC; -------------------------------------------- --用指定的字段顯示的指定降序排序 SELECT * FROM A_CJJ_4 ORDER BY CHENGJI DESC; ---------------------------------------------案例二:按照多個字段進行排序
--可以按照多個字段進行排序 --此處表示的是,先讓CHENGJI按升序排序,PINGSHIFEG不管順序, --若CHENGJI有相同的,PINGSHIFEN再按升序排序 SELECT * FROM A_CJJ_4 ORDER BY CHENGJI,PINGSHIFEN;案例三:使用字段的別名來進行排序
--使用字段的別名來進行排序 SELECT XINGMING,KEMU,(CHENGJI*0.6+PINGSHIFEN*0.4)"總分" FROM A_CJJ_4 ORDER BY "總分"總結
在本章的一開始創建了最簡單的表,對表有了一個基本的認識。對Sql語句也做了簡單介紹,講述了Sql的分類和Sql*Plus的基本特點,用一些例子描述了最簡單的Select查詢語句的基本用法,并在此基礎上進行了語句擴充,增加了Where子句以便能夠執行帶有限制條件的查詢,增加了Order By子句以便對查詢出的數據進行排序顯示。
如若侵權,請及時與我聯系。
此篇文章僅供學習參考,禁止轉載!
總結
以上是生活随笔為你收集整理的Oracle简单SQL语句(详细!!!)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Montgomery算法的高速、可配
- 下一篇: linux cmake编译源码,linu