亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle SQL 基礎

2024-08-29 13:51:53
字體:
來源:轉載
供稿:網友
一、關系數據庫的一些概念1、主鍵的值一般不可以改變2、外鍵:指向另一個表或本表的主鍵或唯一鍵的字段。外鍵的值一定要和某一主鍵相同,或者為空。3、數據庫對像:表,視圖,序列,索引,同義詞,程序(進程,函數,sql和pl/sql數據)4、sql command 類別    data retrieval數據檢索:select    data manipulationlanguage (DML)數據操作語言:insert,update,delete    data definition language (DDL)數據定義語言:create,alter,drop,rename,truncate    transaction control事務控制:commit,rollback,savepointdata control language(DCL)數據控制語言:grant,revokeDCL 和DDL命令的執行會導致一次隱式提交,之前未提交的操作(包括DML 命令)都會提交寫入日志文件,并在適當地時候寫入數據文件。二、SQL的語法1)   連接號:2)   把兩個字符連接起來eg:select game_card_type_idname from game_card_type;3)   select distinct dept_id,title from emp: 對多個字段的唯一4)   order by desc(降序)order by asc(升序)5)   where column is (not) null6)   like ‘_a%’   _表示一個字符。%表示多少字符like ‘%x/_y%’ escape ‘/’:顯示包括x_y的字符7)   where table1.column(+)=table2.columnplace the Operator on the side of the join where there is no value to join to.    8) 聯接類型:equijoin:等式查詢non_equijoin:不等式查詢self:自己和自己建立關聯out join:where a.column=b.column(+)可以用的操作符是:’=’,’and’,不可以用’or’,’in’    9)  COUNT 函數所用的列包含空值時,空值行被忽略。10)  where 后的in any all 的區別in :等于子查詢的任何一個數any :與子查詢的每一個值相比 只要比其中一個大(小)就可以了all:與子查詢的所有值相比要比所有的的都大(?。?nbsp;  !=ALL作用跟NOT IN 一樣  三、SQL*PLUS的環境(可以在glogin.sql中定義初始參數)1)   START 命令用以執行一個已儲存的文件,等同于@2)   SAVE命令用以創建一個文件 3)   EDIT命令用以調用編輯器編輯已存文件的內容 4)   CHANGE 是SQL*Plus的編輯命令,用于在當前一行把舊文段轉換為新文段 5)   DEL 命令用以刪除文本中一行或多行文字 6)   SPOOL命令用以把查詢結果儲存在一個已有文件中,注重與SAVE區別 7)   GET命令用以一個文件的內容寫進一個SQL塊中 8)   SPOOL OUT命令用以把文件的結果發送到系統打印機。9)   set pause off/on:設置頁面的滾動。按enter看下一頁。10)  PAGESIZE:指定每頁顯示的行的數值,11)  LONG:設置LONG類型數據顯示的最大寬度12)  FEEDBACK:設置查詢返回記錄的最大值13)  DESCRIBE :用于顯示表和視圖的結構,同義詞,或指定函數和過程的詳述。14)  Timing:可以看到語句執行的時間15)  Autotrace:可以看到sql的執行計劃,sysdba執行/home/Oracle/PRodUCt/9.2.0/sqlplus/admin/plustrce.sql腳本,而且必須把plustrace角色賦給執行用戶。執行用戶必須運行/home/oracle/product/9.2.0/rdbms/admin/utlXPlan.sql16)  在各種數據類型中,只有NUMBER數據類型的默認顯示是靠右對齊的,而CHAR, DATE和VARCHAR2是靠左對齊的17)  QUIT 是SQL*PLUS命令,用以結束一個SQL*PLUS的對話。18)  ttitle:

       ttitle ‘selina’ 設select 的結果的抬頭為selinatti :顯示ttitle的狀態tti off/onBTitle ‘end’ 設結果的尾部19)              Column:a)             column name heading ‘名字’format a15b)             column id justify left format 999999c)             column start_date format a9 null ‘not hired’//當字段為空的時候則顯示成not hiredd)             column :顯示所有的column設置e)             column columnname:顯示某一個字段的設置f)             clear column :清除所有column設置g)             column columnname clear:清除某一字段的設置h)             以上的column可用col代替.clear可以用cle代替     13)定義變量用&:由用戶輸入變量值,此變量可以存在于where后,做為整個查詢語句的變量。也可以在order by 后。做為字段的變量。也可以放在select 后,做為字段或表達式的變量。用&&:假如多個地方引用此變量。。只用輸入一次     SQL> SELECT empno, ename, job, &&column_name          FROM emp         ORDER BY &column_name;  accept:由用戶輸入變量值  accept 變量名 datatype prompt ‘告訴用戶需要輸入的信息:’ hide  引用的時候:&變名define(undefined):一開始就定義變量值四、函數:1、字符函數lower:把字符轉成小寫upper:把字符轉成大寫initcap:把單詞的第一個字母變成大寫concat:連接字符  concat(‘good’,’morning’)=goodmoringSUBSTR (column/expression, m[,n]) 用于對字符串進行截取操作,從第m個位置開始,把其后的連續n個字符的部分截取下來,假如m位負值,則從末尾開始計算。eg:substr(‘string’,1,3) =str          substr(‘string’-3,3)=ingINSTR('String', 'r')=3LPAD(sal,10,'*') =*******sal  length: 用于返回表達式中的字符數,注重返回的是NUMBER。NVL(expression1, expression2)
NVL 函數用以把一個空值轉換為一個實值,如:
NVL(100/quantity, 0) ,要是quantity為空值,該函數返回一個0。
假如兩個字段類型不同必須進行轉換。Min():返回最小值。。假如是字符。。A<a 2、數學函數round:四舍五入   round(2.566,2)=2.27   round(45,-1)=50trunc: 截斷  trunc(2.566,2)=2.56  trunc(45,-1)=40mod:  mod(m,n):m-n*flood(m/n)     //flood是取整數 3、日期函數:a)       months_between(date1,date2):算date1和date2之間的月的數量,可以是小數可以是負數months_between(’01-sep-95’,’11-jan-94’)=1.9774194b)       add_months(date,n):為date加上N個月,N只可以是整數c)       next_date(date,’char’):查找date的下一個星期Nnext_date(’01-sep-95’,’FRIDAY’)=08-SEP-95d)       last_day(date):查找date月的最后一天。e)       rount(date):把日期四舍五入f)       rount(25-MAY-95’,’MONTH’)=01-JUN-95g)       rount(25-MAY-95’,’YEAR’)=01-JAN-95h)       trunc(date):把日期截斷i)       trunc (25-MAY-95’,’MONTH’)=01-MAY-95j)       trunc (25-MAY-95’,’YEAR’)=01-JAN-95k)       日期中RR與YY的區別,RR格式對日期作類似于舍入的操作,YY格式對日期作類似于截取的操作

                RR   YY
1995 27-oct-95 1995 1995
1995 27-oct-17 2017 1917
2001 27-oct-17 2017 2017
2001 27-oct-95 1995 2095用法:select to_char(sysdate, 'YY') from dual;select to_char(to_date('95-11-27', 'RR-MM-DD'), 'YYYY-MM-DD') from dual;select to_char(to_date('95-11-27', 'YY-MM-DD'), 'YYYY-MM-DD') from dual;4、轉換函數TO_CHAR:
 TO_CHAR(date,’fmt’):fm前綴用來去除首尾的空字符或0
 TO_CHAR(total,’fm$999999’)
      假如想轉成$0.25,那就要寫成fm$9999990.99
 可以把日期轉換成字符
     TO_CHAR(log_time,’MM/YY’)
     TO_CHAR(lot_time,’fmdd’’of;’’mm yyyy’)
     具體格式如下   HH24:MI:SS AM-----------15:24:32 pm
   DD’’of’’MONTH-----------12 of MAY
   Ddspth------------------------fourteenth
   Ddsp--------------------------fourteen
   ddth---------------------------4th
   YYYY-----------------------1978
    MM-----------------------------12
    MONTH-------------------------MAY5、group 函數avg,count,max,min,stddev,sum,variance 五、數據字典用戶表:由用戶創建,包含用戶的內容數據字典:由系統建立,包含數據庫的信息 前綴:USER_ :由用戶創建,顯示用戶擁有的所有對象。  ALL_ :由受權的用戶訪問, 用戶可以訪問的對象名。DBA_ :由受了DBA權限的人訪問,顯示數據庫的所有對象。V$ :由受了DBA權限的人訪問,顯示數據字典數據庫服務器性能信息。通常是DBA用于顯示系統的統計表和動態性能表。 數據字典DICTIONARY數據字典提供用戶可以訪問的數據字典表和視圖的描述。
USER_OBJECTS顯示用戶擁有的對象。
USER_VIEWS顯示用戶擁有的視圖。
USER_TABLES顯示用戶擁有的表。
ALL_TABLES顯示用戶可以訪問的表。
ALL_VIEWS顯示用戶可以訪問的視圖。
USER_CATALOG顯示用戶擁有的所有表,視圖,同義詞和序列。
 USER_CONS_COLUMNS顯示帶約束的列。
DBA_CONS_COLUMNS顯示數據庫里的所有表,視圖和同義詞。
USER_TAB_PRIVS_MADE:本用戶賦給別的用戶賦予權限的表USER_TAB_PRIVS_RECD:其他用戶給本用戶賦予權限的表USER_COL_PRIVS_MADE:本用戶賦給別的用戶賦予權限的字段USER_COL_PRIVS_RECD:其他用戶給本用戶賦予權限的字段
ROLE_SYS_PRIVS:有什么系統權限賦給roleROLE_TAB_PRIVS:有什么關于表的權限賦給roleUSER_ROLE_PRIVS:role和用戶的對應表 常用的表user_objects:用戶對象表(存儲用戶的所有對象)存儲以下的類型的數據Selina Sql>select distinct object_type from user_objects;INDEXLOBPACKAGEPACKAGE BODYPROCEDURESEQUENCESYNONYMTABLETRIGGERVIEWUser_catalog:用戶類表,存儲以下的類型的數據Selina Sql>select distinct table_type from user_catalog;SEQUENCESYNONYMTABLEVIEW 六、建立對象1、 表a)     基本概念Ø數據庫會分配一定的空間從而定義表的大小,所以表的大小不用指定。Ø表可容納最多1000列。Ø表可在用戶使用數據庫的同時創建,而且表的結構可在表聯機時修改。ØRENAME語句的語法 : RENAME old name TO new name; 注重要是表名中包含空格,符號或數字,必須使用雙引號Ø在CREATE TABLE子句中使用子查詢,新表中的列數必須與子查詢返回的列數相等,列位置對應。另外,除NOT NULL約束外,新列不會繼續源列的所有約束。Ø你不能對一列重命名。在表中添加一列時,你不能指定該列的位置,它會被默認放置在最后。你可以為一列增加長度。 通常當一列包含數據時,你不能修改該列的數據類型,不能減少一列的長度,但當列中包含空值或你不改變列的大小時,你可以把CHAR 轉換為VARCHAR2數據類型。Ø在DROP TABLE table命令后加上CASCADE CONSTRAINTS回把表中的相關約束一并刪除。如命令:"DROP TABLE employee CASCADE CONSTRAINTS;"會把employee表中的數據,結構,和相關約束一并刪除。Ø當你創建一個數據類型為VARCHAR2的列時,必須指定長度。Ø為表加注釋:comment on table tablename  is ‘………’;ØCOMMENT ON TABLE命令用于在數據字典里添加關于表,視圖或快照的注釋。Ø但你對一表執行了DML語句的INSERT操作時,但沒有提交,別人可以同時訪問該表,但看不到你所作的修改,由于對象被加鎖,所以別人不能作同樣的修改。b)     建表原則以字母開頭不可以超過30個字只能由數字,字母,_,$,#組成用子查詢建立表create table tablename as select ….. c)     刪除表drop table tablename刪除所有的數據刪除所有相關的index所有待解決的事務會自動提交不可以回滾不釋放空間 



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品视频va| 国产91|九色| 欧美性视频网站| 亚洲偷熟乱区亚洲香蕉av| 亚洲级视频在线观看免费1级| 日韩欧美视频一区二区三区| 国内自拍欧美激情| 欧美精品在线免费| 久久精品国产亚洲精品2020| 久久久精品2019中文字幕神马| 久久91精品国产91久久久| 亚洲18私人小影院| 欧美成人性色生活仑片| 欧美福利在线观看| 欧美成年人视频网站欧美| 国产精品十八以下禁看| 精品国产一区二区在线| 国产97色在线|日韩| 免费av在线一区| 亚洲成色777777在线观看影院| 亚洲人成自拍网站| 亚洲欧美中文日韩在线v日本| 亚洲 日韩 国产第一| 国产一区二区丝袜高跟鞋图片| 亚洲人成电影在线观看天堂色| 中文字幕精品www乱入免费视频| 久久精品视频播放| 精品成人av一区| 亚洲石原莉奈一区二区在线观看| 欧美激情第1页| 国产啪精品视频| 97视频com| 欧美肥臀大乳一区二区免费视频| 91av免费观看91av精品在线| 国产亚洲精品成人av久久ww| 亚洲成人av资源网| 久久综合久中文字幕青草| 亚洲男人第一网站| 久久亚洲精品国产亚洲老地址| 成人妇女淫片aaaa视频| www.久久草.com| 5252色成人免费视频| 国产日韩在线播放| 国产精品一区二区久久国产| 欧美高清视频一区二区| 国产精品一区二区久久精品| 色综合久久88| 色综合天天狠天天透天天伊人| 亚洲国产精品成人av| 欧美大尺度在线观看| 国产国语videosex另类| 国产欧美中文字幕| 亚洲精品久久久久国产| 欧美最顶级的aⅴ艳星| 日韩中文字幕国产精品| 欧美黑人视频一区| 欧美另类第一页| 91精品一区二区| 国内外成人免费激情在线视频网站| 亚洲精品久久久一区二区三区| 欧美高清视频在线播放| 成人写真视频福利网| 91精品国产亚洲| 国产欧美一区二区三区在线| xxxxx91麻豆| 久久伊人免费视频| 国产91对白在线播放| 国产精品尤物福利片在线观看| 日韩av最新在线| 国产在线观看一区二区三区| 色老头一区二区三区在线观看| 中文字幕在线视频日韩| 欧美黑人xxx| 中文字幕亚洲欧美在线| 国产精品黄视频| 欧美成人免费在线观看| 琪琪第一精品导航| 久久人人爽亚洲精品天堂| 久久久久国产视频| 91精品国产自产在线观看永久| 亚洲精品久久久一区二区三区| 日韩免费中文字幕| 欧美一性一乱一交一视频| 亚洲第一精品自拍| 欧美性精品220| 在线精品国产成人综合| 亚洲一区二区三区成人在线视频精品| 亚洲人免费视频| 欧美重口另类videos人妖| 国产亚洲欧洲在线| 精品视频久久久| 国产精品久久久久久久app| 不卡在线观看电视剧完整版| 欧美成人在线免费| 国产日本欧美一区二区三区在线| 欧美性xxxxhd| 最近2019年中文视频免费在线观看| 日韩在线资源网| 国语自产精品视频在线看| 久久99精品视频一区97| 国产91精品在线播放| 日韩av在线免费看| 欧美香蕉大胸在线视频观看| 高清欧美一区二区三区| 成人av色在线观看| 亚洲女人被黑人巨大进入| 岛国av在线不卡| 亚洲精品黄网在线观看| 欧美精品亚州精品| 亚洲天堂色网站| 亚洲精品网址在线观看| 最近2019中文字幕在线高清| 欧美在线视频免费观看| 日韩经典中文字幕在线观看| 国产精品久久久久久久久久久久久| 国产精品激情av在线播放| 成人免费大片黄在线播放| 欧美性视频网站| 91av免费观看91av精品在线| 成人免费在线网址| 久久久久久久一区二区| 成人黄色av免费在线观看| 青青草原一区二区| 欧美电影《睫毛膏》| 精品国产一区二区在线| 国产精品一二区| 亚洲男女性事视频| 国产精品久久久久久五月尺| 久久久成人的性感天堂| 一区二区三区视频免费| 亚洲电影在线观看| 国产日产久久高清欧美一区| 色偷偷av一区二区三区乱| 热草久综合在线| 久久久久在线观看| 91成人免费观看网站| 一区二区三区www| 国内揄拍国内精品少妇国语| 精品久久久久久久久久久久| 91在线免费网站| 国产日韩在线亚洲字幕中文| 九九综合九九综合| 国产噜噜噜噜久久久久久久久| 日本精品久久久| 国产精品一区二区久久久久| 亚洲天堂免费在线| 国产精品自拍视频| 亚洲欧洲在线视频| 欧美精品电影在线| 欧美理论片在线观看| 欧美一级免费视频| 最新91在线视频| 一区二区欧美日韩视频| 中文字幕亚洲一区二区三区| 91精品国产自产在线观看永久| 亚洲а∨天堂久久精品9966| 国产精品久久久久久久久久新婚| 亚洲国模精品私拍| 成人黄色免费片| 日韩精品中文在线观看| 亚洲欧美国产一区二区三区| 亚洲精品国产精品国自产在线| 一区二区三区日韩在线| 日韩精品在线观|