亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 02. sql note.txt

?? 在達內培訓java筆記
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
?先登陸服務器:    telnet 192.168.0.23    公帳號: openlab-open123    tarena-tarena
再進入SQL:sqlplus sd0807/sd0807        帳號:sd0807-密碼同樣  公帳號:openlab-open123 

設置環境變量:
   ORACLE_SID=oral10g\    --變局部變量
   export ORACLE_SID      --變全局變量
   unset ORACLE_SID       --卸載環境變量
   ORACLE_HOME=...        --安裝路徑;直接用一句語句也可以,如下
   export ORACLE_HOME=/oracledata/.../bin:

一、注意事項:
    大小寫不敏感,即不區分大小寫。提倡關鍵字大寫,便于閱讀和調式。
    “!”在SQL環境下執行Unix命令。
    SQL語句是由簡單的英語單詞構成;這些英語單詞稱為關鍵字/保留字,不做它用。SQL由多個關鍵字構成。
    SQL語句由子句構成,有些子句是必須的,有些是可選的。
    在處理SQL語句時,其中所有的空格都被忽略(空格只用來分開單詞,連續多個空格當一個用)。
    SQL語句可以在一行上寫出,建議多行寫出,便于閱讀和調試。
    多條SQL語句必須以分號分隔。多數DBMS不需要在單條SQL語句后加分號,但特定的DBMS可能必須在單條SQL語句后加分號。
    SQL語句的最后一句要以 “;”號結束

二、寫子句順序
    Select column,group_function
    From  table
    [Where  condition]
    [Group by  group_by_expression]
    [Having    group_condition]
    ……
    [Order by  column];    --最后

三、常用簡單語句:
    clear screen:清屏
    edit:編輯剛才的一句。
    desc/describe:(列出所有列名稱)
        用法: DESCRIBE [schema.]object[@db_link]
    dual:亞表,臨時用。如:desc dual;/from dual;
    rollback:回溯,回溯到上次操作前的狀態,把這次事務操作作廢,只有一次(DDL和DCL語句會自動提交,不能回溯)。
        可以用commit語句提交,這樣就回溯不回了。
	set pause on\off :設置分屏(設置不分屏) 
	set pause "please put an enter key" 且 set pause on:設置帶有提示的分屏
	oerr ora 904 :查看錯誤
	set head off :去掉表頭
	set feed off :去掉表尾
	保存在oracle數據庫中的所有操作細節:
	    spool oracleday01.txt :開始記錄
	    spool off :開始保存細節

四、SELECT語句:選擇操作、投影操作。
select:從一個或多個表中檢索一個或多個數據列。包含信息:想選擇什么表,從什么地方選擇。必須要有From子句。(最常用)
        當從多張表里查詢的時候,會產生笛卡爾積;可用條件過濾它。
        當兩個表有相同字段時必須加前綴,列名前需加表名和“.”,如“s_emp.id”。
    1、用法:SELECT  columns,prod2,prod3<列>  FROM Table1,table2<表名>  分號結束
       如: select id from s_emp;
           select last_name,name from s_emp,s_dept where s_emp.dept_id=s_dept.id;--列表每人所在部門
           SELECT *  FROM Products;    --檢索所有列。
           數據太多時,最好別使用上句,會使DBMS降低檢索和應用程序的性能。(*通配符)
    2、對數據類型的列可進行運算(如加減乘除)。
    3、對列起別名:有直接起別名,加AS起別名,用雙引號起別名等三種方法
       (單引號,引起字符串;雙引號,引起別名。起別名有符號,或者區分大小寫時,必須用雙引號)
        多表查詢時,可給表起別名。(給列起別名,列<空格>列別名;給表起別名,表<空格>表別名;)。
        如:Select first_name EMPLOYEES, 12*(salary+100) AS MONEY, manager_id "ID1" From s_emp E;
    4、字段的拼接,可用雙豎線(雙豎線只能用于select語句里)。不同的DBMS可能使用不同的操作符;拼接的字段同樣可以起別名。
        如:Select  first_name ||' '|| last_name || ', '|| title "Employees" From s_emp;

排他鎖:Select id,salary  From s_emp where id=1  For Update;
   可以阻止他人并發的修改,直到你解鎖。
   如果已有鎖則自動退出:Select id,salary From s_emp where id=1 For Update NoWait;
   FOR UPDATE :可以再加 OF 精確到某格。如:   ... For Update  OF salary ...  
   注意要解鎖。

五、ORDER BY 子句,排序
Order by:按某排序列表(默認升序 asc,由低到高;可加 desc,改成降序由高到低)
    檢索返回數據的順序沒有特殊意義,為了明確地排序用 SELECT 語句檢索出的數據,可使用 ORDER BY 子句。
    ORDER BY 子句取一個或多個列的名字。
    對空值,按無窮大處理(升序中,空值排最后;降序中排最前)。
    1、用法:Select prod_id,prod_price,prod_name From Products  Order By  prod_price,prod_name; 
      (從左到右執行排序,先排price)
       ORDER BY子句中使用的列將是為顯示所選擇的列,但是實際上并不一定要這樣,用非檢索的列排序數據是完全合法的。
       為了按多個列排序,列名之間用逗號分開。
    2、支持按相對列位置進行排序。
       輸入 SELECT prod_id,prod_price,prod_name
       FROM  Products
       ORDER BY 2,3    --(2指price,3指name)
    3、升序、降序。默認是升序(asc,從小到大排序),想降序時用desc。
       如:SELECT prod_id,prod_price,prod_name FROM  Products ORDER BY prod_price DESC;
      注意:DESC 關鍵字只應用到直接位于其前面的列名。如果想在多個列上進行排序,必須對每個列指定DESC關鍵字。
         升序是默認的,可不寫,但降序必須寫。


六、WHERE子句,選擇、過濾
    其后只能跟邏輯語句,返回值只有ture或false
    如: select last_name,salary from s_emp where salary=1000;--找出工資1000的人

WHERE子句操作符:
    1、邏輯比較運算符
        =        等于
        !=       不等于,還有(<>  ^=   這兩個同樣表示不等于)
        >         大于
        >=        大于等于
        <         小于
        <=        小于等于

    2、SQL 比較運算符
    between…and…    :在兩者之間。(BETWEEN 小值 AND 大值)
        如:select last_name,salary from s_emp where salary between 1000 and 1500;
          --工資1000到1500的人,包括1000和1500。
    in(列表):在列表里面的。
        如:select last_name,dept_id from s_emp where dept_id in(41,42);第41、42部門的人
    like    : 包含某內容的。模糊查詢
        可以利用通配符創建比較特定數據的搜索模式,通配符只能用于文本,非文本數據類型不能使用通配符。
        通配符在搜索模式中任意位置使用,并且可以使用多個通配符。
        通配符%表示任何字符出現任意次數;還能代表搜索模式中給定位置的0個或多個字符。下劃線匹配單個任意字符。
        如:select table_name from user_tables where table_name like 'S\_%' escape'\';
        '  找出“S_“開頭的,由于下劃線有任意字符的含義,故需另外定義轉移符。
           但習慣用“\”,為方便其他程序員閱讀和檢測,一般不改用其他的。
        like 'M%':M開頭的        like '_a%':第二個字符是a的    like '%a%'所有含a的
            (“_”表示一個任意字符;“%”表示任意多個任意字符。)
        單引號里面的內容,大小寫敏感。單引號用來限定字符串,
        如果將值與串類型的列進行比較,則需要限定引號;用來與數值列進行比較時,不用引號。
    is null:是空。(NULL表示不包含值。與空格、0是不同的。)
        如:SELECT prod_name,prod_price FROM Products WHERE prod_price IS NULL;


七、高級檢索(邏輯運算符):
    通常我們需要根據多個條件檢索數據。可以使用AND或OR、NOT等連接相關的條件
    計算次序可以通過圓括號()來明確地分組。不要過分依賴默認計算次序,使用圓括號()沒有壞處,它能消除二義性。
    
    and:條件與
       如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 AND vend_id=‘DELL’
    or:條件或    (注: and 的優先級比 or 更高,改變優先級可用括號)
       如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 OR vend_id=‘DELL’
    not:條件非。否定它之后所跟的任何條件
        否定的SQL 比較運算符: NOT BETWEEN; NOT IN; NOT LIKE; IS NOT NULL:
         (注意,按英語習慣用 is not,而不是 not is)
        NOT 與 IN 在一起使用時,NOT 是找出與條件列表不匹配的行。
        IN 列表里有 NULL 時不處理,不影響結果;用 NOT IN 時,有 NULL 則出錯,必須排除空值再運算。
    in :選擇列表的條件
        使用IN操作符的優點: 在長的選項清單時,語法直觀; 計算的次序容易管理;
        比 OR 操作符清單執行更快;最大優點是可以包含其他 SELECT 語句,使用能夠動態地建立 WHERE 子句。
     如 SELECT prod_id,prod_price,prod_name FROM Products WHERE vend_id IN(‘DELL’,’RBER’,’TTSR’);


八、單行函數:
    函數一般在數據上執行,它給數據的轉換和處理提供了方便。不同的DBMS提供的函數不同。
    函數可能會帶來系統的不可移植性(可移植性:所編寫的代碼可以在多個系統上運行)。
    加入注釋是一個使用函數的好習慣。
    大多數SQL實現支持以下類型的函數: 文本處理, 算術運算, 日期和時間, 數值處理。

Null:空值
    空值當成無窮大處理,所有空值參與的運算皆為空。
    空值與空值并不相等,因為空值不能直接運算。
    如:prod_price=""     這種寫法是錯的(不要受到corejava的影響)
    prod_price=NULL      這種寫法是錯的(不要受到corejava的影響)
    prod_price IS NULL   這種寫法才是對的
NVL:處理空值,把空值轉化為指定值。可轉化為日期、字符、數值等三種(注意:轉化時,兩參數必須要同類型)
    如:NVL(date, '01-JAN-95')    NVL(title,'NO Title Yet')        NVL(salary,0)
    錯誤寫法:
     Select last_name,title,salary*commission_pct/100 COMM From s_emp;--沒提成的人沒法顯示工資
    正確寫法:
     Select last_name,title,salary*NVL(commission_pct,0)/100 COMM From s_emp;--把提成是空值的轉化為0

DISTINCT:過濾重復
    把重復的行過濾掉;多個字段組合時,只排除組合重復的。
    DISTINCT必須使用列名,不能使用計算或者表達式。
    所有的聚合函數都可以使用。如果指定列名,則DISTINCT只能用于COUNT(列名),DISTINCT不能用于COUNT(*)。
    如:Select  Distinct  name  From  s_dept; Select Distinct dept_id,title  From s_emp;

文本處理:
TRIM()/LTRIM()/RTIRM():去空格。只能去掉頭和尾的空格,中間的不理。
     trim('   heo Are  fdou   ')  -->  heo Are  fdou
     輸入:select trim('   heo Are  fdou   ')  from dual; -->:heo Are  fdou
LOWER:轉小寫
    lower('SQL Course') --> sql course
UPPER:轉大寫
    upper('    SQL Course') --->SQL COURSE
INITCAP:首字母轉大寫,其余轉小寫
    initcap(SQL Course')  '--> Sql Course  

CONCAT:合成。雙豎線只能在select語句里面用,這個可用于任何語句。
    Concat('Good','String') --> GoodString
SUBSTR:截取。
    Substr('String', 1 ,3)  --> Str
        第一個數字“1”,表示從第幾個開始截取;若要從倒數第幾個開始,用負數,如“-2”表示倒數第2個。
        上式中第2個數字“3”表示截取多少個。
LENGTH:統計長度。
    Length('String') --> 6
NVL:轉換空值

日期和時間處理:
    Oracle日期格式:DD-MMM-YYYY        (D代表日期date,M代表月month,Y代表年year)
    如:SELECT prod_name              (DAY表示完整的星期幾,DY顯示星期的前三個字母)
        FROM Products
        WHERE prod_time BETWEEN
            to_date(’01-JAN-2008’)
        AND to_date(’31-DEC-2008’);
    日期可以進行加減,默認單位是1天。日期與日期可以相減,得出天數;日期與日期但不能相加。
sysdate   ->  系統的當天
Months_Between('01-Sep-95','11-Jan-94')  --> 19.774194    相差多少個月,Between里面也可以填函數。
Add_months('11-Jan-94',6)                -->  11-Jul-94   增加多少個月
Next_day('01-Sep-95','Friday')   --> '08-Sep-95'    下一個星期五。其中的'Friday'可用6替代,因為星期日=1
Last_day('01-Sep-95')            -->  '30-Sep-95'   這個月的最后一天


數值處理:可以運用于代數,三角,幾何
ROUND:四舍五入
    Round(45.925,2)  -> 45.93        Round(45.925,0)  -> 46        Round(45.925,-1)  -> 50
    逗號前一個數是要處理的數據源,后一個參數表示保留多少位小數。
    后一參數是負數時,表示舍去小數點前的幾位,例3是舍去個位及其后的。不寫后一參數時,默認不保留小數。
TRUNC:舍去末位。直接舍去,不會進位。
    Trung(45.925,2)  -> 45.92       Trung(45.925,2)  -> 45.92       Trung(45.925,2)  -> 45.92
日期的舍取:


常用的數值處理函數有:
    ABS()    絕對值        ABS(-5741.5854) --> 5741.5854
    PI()     圓周率        注意:oracle中不支持 PI()函數;MYSql 支持PI()函數。
    SIN()    正統值             Oracle還支持COS()、ASIN()、ACOS()函數
    SQRT()   平方根 


  轉化:
TO_CHAR(number,'fmt'):把數值轉換成字符串
    顯示數字的命令
    9:正常顯示數字;
    0:顯示包括0的數值形式,空位強制補0;
    $:以美元符號顯示貨幣;
    L:按當前環境顯示相關的貨幣符號;
    . 和,:在固定位置出現“.”點 和“,”逗號;不夠位時,四舍五入。
   例題:SQL> select 'Order'||To_char(id)||
  2  'was filled for a total of'
  3  ||To_char(total,'fm$9,999,999')
  4  from s_ord
  5  where ship_date ='21-SEP-92';

TO_NUMBER(char):把字符轉換成數字


九、鏈接
內鏈接:嚴格匹配兩表的記錄。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品女人毛片| 欧美日韩午夜在线视频| 97精品视频在线观看自产线路二| 亚洲永久免费视频| 国产三级精品视频| 日韩视频在线你懂得| 精品国产一区二区三区不卡| 五月婷婷色综合| 亚洲欧美综合网| 26uuu亚洲综合色欧美| 亚洲国产精品成人综合| 日韩欧美一区电影| 在线亚洲高清视频| 夜夜嗨av一区二区三区网页| 国产成人综合在线| 欧美极品少妇xxxxⅹ高跟鞋| 精品电影一区二区三区| 亚洲欧洲精品天堂一级| 久久国产乱子精品免费女| 在线观看三级视频欧美| 欧美性淫爽ww久久久久无| 亚洲国产人成综合网站| 国产在线观看一区二区| 一本到三区不卡视频| 91精品欧美综合在线观看最新| 国产精品美日韩| 国产又黄又大久久| 国产精品传媒入口麻豆| 国产欧美精品国产国产专区| 日韩一区二区精品在线观看| 日韩一区二区三区四区| 蜜桃一区二区三区四区| 色偷偷一区二区三区| 成人激情视频网站| 成人免费的视频| 91论坛在线播放| 高清不卡一区二区在线| 亚洲精品一区二区三区四区高清 | 一区二区三区免费看视频| 在线看一区二区| 日本午夜精品一区二区三区电影| 亚洲午夜日本在线观看| 日韩欧美一级精品久久| 亚洲国产精品久久人人爱蜜臀| 99这里只有久久精品视频| 午夜精品福利一区二区三区av | 久久综合狠狠综合久久综合88 | 成人午夜视频免费看| 一区二区三区免费网站| 欧美一级黄色片| 成人黄色国产精品网站大全在线免费观看| 国产精品久久久久久久久免费相片| 欧洲激情一区二区| 国产中文字幕精品| 最新久久zyz资源站| 国产精品久久久久久久久搜平片 | 久久er精品视频| 国内成人免费视频| 亚洲精品国久久99热| 日韩午夜激情电影| 26uuu精品一区二区在线观看| 99精品国产热久久91蜜凸| 国产亚洲欧美日韩在线一区| 国产一区二区三区四区五区入口| 一本久久a久久免费精品不卡| 夜夜嗨av一区二区三区网页| 欧美一区二区三区在线看| 国精产品一区一区三区mba视频| 国产精品亲子伦对白| 色综合久久久久久久| 亚洲成人777| 欧美tk—视频vk| www.亚洲色图| 亚洲福利国产精品| 精品久久五月天| 99久久国产综合精品色伊| 亚洲成a人片在线不卡一二三区| 日韩亚洲欧美中文三级| 国产**成人网毛片九色| 亚洲综合另类小说| 日韩欧美久久久| 国产盗摄一区二区| 亚洲综合色在线| wwwwww.欧美系列| av在线不卡电影| 日韩电影在线观看电影| 欧美国产丝袜视频| 欧美男生操女生| 国产精品123区| 亚洲图片欧美视频| 国产亚洲欧美色| 欧美日韩日日骚| 国产乱人伦偷精品视频不卡| 亚洲免费观看高清完整版在线| 日韩欧美综合一区| 99re免费视频精品全部| 美女网站色91| 亚洲欧美日韩一区二区| 精品乱码亚洲一区二区不卡| 色婷婷香蕉在线一区二区| 久久国产精品99久久久久久老狼| 综合欧美一区二区三区| 日韩欧美一区中文| 91视频在线观看免费| 美女性感视频久久| 亚洲一区二区在线免费看| 久久这里只有精品首页| 欧美日韩电影在线| 99综合电影在线视频| 精品一区二区三区视频| 午夜精品国产更新| 亚洲三级理论片| 久久综合九色综合欧美98| 欧美日韩一区二区三区四区| 成人黄色小视频在线观看| 毛片av一区二区| 亚洲成人免费视频| 日韩一区欧美一区| 久久免费午夜影院| 91精品国产福利在线观看| 95精品视频在线| 国产一区不卡精品| 三级成人在线视频| 一区二区三区在线视频观看| 国产精品伦理在线| 久久青草欧美一区二区三区| 91麻豆精品国产91| 欧美色图在线观看| 91蜜桃传媒精品久久久一区二区| 国产精品 欧美精品| 开心九九激情九九欧美日韩精美视频电影 | 9191精品国产综合久久久久久 | 国产在线视视频有精品| 热久久国产精品| 亚洲午夜成aⅴ人片| 亚洲精选视频在线| 国产精品激情偷乱一区二区∴| 久久久亚洲午夜电影| 日韩情涩欧美日韩视频| 91精品国产色综合久久| 欧美视频自拍偷拍| 99国内精品久久| av日韩在线网站| 成人黄色免费短视频| 国产69精品一区二区亚洲孕妇| 美女视频黄频大全不卡视频在线播放 | 欧美色精品天天在线观看视频| 色综合夜色一区| 91女厕偷拍女厕偷拍高清| 99久久99久久精品国产片果冻| 国产91精品露脸国语对白| 国产精品亚洲午夜一区二区三区| 紧缚捆绑精品一区二区| 美女精品一区二区| 久久99九九99精品| 久久99精品久久久久久| 国产专区欧美精品| 国产电影一区在线| www.日韩在线| 99久久综合精品| 91行情网站电视在线观看高清版| av在线不卡电影| 91国偷自产一区二区使用方法| 在线观看视频欧美| 欧美精品三级在线观看| 欧美一级片免费看| 精品少妇一区二区三区免费观看 | 欧美精品一二三四| 欧美一区二区三区在线看| 日韩女同互慰一区二区| 久久丝袜美腿综合| 欧美激情综合五月色丁香| 一色屋精品亚洲香蕉网站| 一区二区三区在线视频免费 | 天天影视涩香欲综合网| 日本成人在线网站| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品夜夜嗨| 91小视频免费看| 欧美影院一区二区三区| 欧美一区二区三区人| 久久影院电视剧免费观看| 国产精品久久国产精麻豆99网站| 亚洲精品免费一二三区| 日韩精品国产欧美| 国产麻豆9l精品三级站| av午夜一区麻豆| 欧美日韩精品系列| 亚洲精品在线观看视频| 国产精品国产三级国产aⅴ中文| 亚洲午夜视频在线观看| 精品一区二区免费在线观看| 国产成+人+日韩+欧美+亚洲| 色婷婷综合久久久中文一区二区 | 欧美系列一区二区| 欧美一区二区三区日韩视频| 中文字幕乱码久久午夜不卡| 亚洲一区二区三区影院| 精品中文av资源站在线观看| 成人激情电影免费在线观看|