欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      黑馬程序員c語(yǔ)言教程:查看數(shù)據(jù)庫(kù)的SQL,oracle用戶管理,五篇范文

      時(shí)間:2019-05-12 20:20:38下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《黑馬程序員c語(yǔ)言教程:查看數(shù)據(jù)庫(kù)的SQL,oracle用戶管理,》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《黑馬程序員c語(yǔ)言教程:查看數(shù)據(jù)庫(kù)的SQL,oracle用戶管理,》。

      第一篇:黑馬程序員c語(yǔ)言教程:查看數(shù)據(jù)庫(kù)的SQL,oracle用戶管理,

      查看數(shù)據(jù)庫(kù)的SQL

      1、查看表空間的名稱及大小

      select t.tablespace_name, round(sum(bytes/(1024*1024)),0)ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;

      2、查看表空間物理文件的名稱及大小

      select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;

      3、查看回滾段名稱及大小

      select segment_name, tablespace_name, r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+)order by segment_name;

      4、查看控制文件

      select name from v$controlfile;

      5、查看日志文件

      select member from v$logfile;

      6、查看表空間的使用情況

      select sum(bytes)/(1024*1024)as free_space,tablespace_name from dba_free_space group by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES “% USED”,(C.BYTES*100)/A.BYTES “% FREE” FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

      7、查看數(shù)據(jù)庫(kù)庫(kù)對(duì)象

      select owner, object_type, status, count(*)count# from all_objects group by owner, object_type, status;

      8、查看數(shù)據(jù)庫(kù)的版本

      Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';

      9、查看數(shù)據(jù)庫(kù)的創(chuàng)建日期和歸檔方式

      Select Created, Log_Mode, Log_Mode From V$Database;

      ORACLE用戶連接的管理

      用系統(tǒng)管理員,查看當(dāng)前數(shù)據(jù)庫(kù)有幾個(gè)用戶連接:

      SQL> select username,sid,serial# from v$session;如果要停某個(gè)連接用

      SQL> alter system kill session 'sid,serial#';如果這命令不行,找它UNIX的進(jìn)程數(shù)

      SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr;說明:21是某個(gè)連接的sid數(shù) 然后用 kill 命令殺此進(jìn)程號(hào)。

      SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用戶名/密碼

      退出SQL*Plus SQL>exit b、在sqlplus下得到幫助信息

      列出全部SQL命令和SQL*Plus命令 SQL>help 列出某個(gè)特定的命令的信息 SQL>help 命令名

      c、顯示表結(jié)構(gòu)命令DESCRIBE SQL>DESC 表名

      d、SQL*Plus中的編輯命令 顯示SQL緩沖區(qū)命令 SQL>L 修改SQL命令

      首先要將待改正行變?yōu)楫?dāng)前行 SQL>n 用CHANGE命令修改內(nèi)容 SQL>c/舊/新

      重新確認(rèn)是否已正確 SQL>L 使用INPUT命令可以在SQL緩沖區(qū)中增加一行或多行 SQL>i SQL>輸入內(nèi)容

      e、調(diào)用外部系統(tǒng)編輯器 SQL>edit 文件名

      可以使用DEFINE命令設(shè)置系統(tǒng)變量EDITOR來改變文本編輯器的類型,在login.sql文件中定義如下一行

      DEFINE_EDITOR=vi f、運(yùn)行命令文件 SQL>START test SQL>@test 常用SQL*Plus語(yǔ)句

      a、表的創(chuàng)建、修改、刪除 創(chuàng)建表的命令格式如下:

      create table 表名(列說明列表); 為基表增加新列命令如下:

      ALTER TABLE 表名 ADD(列說明列表)例:為test表增加一列Age,用來存放年齡 sql>alter table test add(Age number(3)); 修改基表列定義命令如下: ALTER TABLE 表名

      MODIFY(列名 數(shù)據(jù)類型)

      例:將test表中的Count列寬度加長(zhǎng)為10個(gè)字符 sql>alter atble test modify(County char(10)); b、將一張表刪除語(yǔ)句的格式如下: DORP TABLE 表名;

      例:表刪除將同時(shí)刪除表的數(shù)據(jù)和表的定義 sql>drop table test c、表空間的創(chuàng)建、刪除

      --MartriWang@gmail.com 15/06/2007--d.刪除表列

      ALTER TABLE table_name DROP COLUMN 字段名--del 表中字段 1: create table t2 as select from t1;

      --以第一個(gè)表中的某列建立第二個(gè)新表

      2: drop table t1;

      --刪除表1 3: rename t2 to t1;

      --把表2改名為表1 Oracle 8i及以上版本中,可以使用以下語(yǔ)句 alter table 表1 drop column 列1;

      第二篇:黑馬程序員c語(yǔ)言教程:Oracle簡(jiǎn)介

      9.通過子查詢建表 通過子查詢建表的例子

      SQL>CREATE TABLE emp_41 AS SELECT id, last_name, userid, start_date FROM s_emp WHERE dept_id = 41;SQL> CREATE TABLE A as select * from B where 1=2;只要表的結(jié)構(gòu).10.用子查詢建表的注意事項(xiàng)

      可以關(guān)連多個(gè)表及用集合函數(shù)生成新表,注意選擇出來的字段必須有合法的字段名稱,且不能重復(fù)。

      用子查詢方式建立的表,只有非空NOT NULL的約束條件能繼承過來, 其它的約束條件和默認(rèn)值都沒有繼承過來.根據(jù)需要,可以用alter table add constraint ……再建立其它的約束條件,如primary key等.11.Foreign Key的可選參數(shù)ON DELETE CASCADE 在創(chuàng)建Foreign Key時(shí)可以加可選參數(shù): ON DELETE CASCADE它的含義是如果刪除外鍵主表里的內(nèi)容,子表里相關(guān)的內(nèi)容將一起被刪除.如果沒有ON DELETE CASCADE參數(shù),子表里有內(nèi)容,父表里的主關(guān)鍵字記錄不能被刪除掉.12.如果數(shù)據(jù)庫(kù)表里有不滿足的記錄存在,建立約束條件將不會(huì)成功.13.給表創(chuàng)建和刪除同義詞的例子 SQL> CREATE SYNONYM d_sum 2 FOR dept_sum_vu;SQL> CREATE PUBLIC SYNONYM s_dept 2 FOR alice.s_dept;SQL> DROP SYNONYM s_dept;

      十、ORACLE里的數(shù)據(jù)字典

      1.什么是數(shù)據(jù)字典?ORACLE的數(shù)據(jù)字典是數(shù)據(jù)庫(kù)的重要組成部分之一,它隨著數(shù)據(jù)庫(kù) 的產(chǎn)生而產(chǎn)生, 隨著數(shù)據(jù)庫(kù)的變化而變化, 體現(xiàn)為sys用戶下所有的一些表和視圖.2.數(shù)據(jù)字典里存了以下內(nèi)容: 用戶信息

      用戶的權(quán)限信息

      所有數(shù)據(jù)對(duì)象信息表的約束條件統(tǒng)計(jì)分析數(shù)據(jù)庫(kù)的視圖等 不能手工修改數(shù)據(jù)字典里的信息.16

      J2EE @ zxw 3.常用的數(shù)據(jù)字典

      Dictionary 存放所有數(shù)據(jù)表,視圖,同義詞名稱和解釋 Dict_columns 數(shù)據(jù)字典里字段名稱的和解釋 Dba_users 用戶 Dba_tablespaces 表空間

      Dba_data_files 數(shù)據(jù)庫(kù)的文件 Dba_free_space 空閑表空間 Dba_rollback_segs 回滾段

      User_objects 數(shù)據(jù)對(duì)象 User_constraints 約束條件 User_sequences 序列號(hào) User_views 視圖 User_indexes 索引 User_synonyms 同義詞

      Session_roles 用戶的角色 User_role_privs 用戶的角色權(quán)限 User_sys_privs 用戶的系統(tǒng)權(quán)限 User_tab_privs 用戶的表級(jí)權(quán)限 V$session 實(shí)時(shí)用戶情況 V$sysstat 實(shí)時(shí)系統(tǒng)統(tǒng)計(jì) V$sesstat 實(shí)時(shí)用戶統(tǒng)計(jì) V$sgastat 實(shí)時(shí)SGA使用 V$locked_object 實(shí)時(shí)鎖 V$controlfile 控制文件 V$logfile 日志文件 V$parameter 參數(shù)文件 4.數(shù)據(jù)字典的分類 數(shù)據(jù)字典四大類別

      User_ 用戶下所有數(shù)據(jù)庫(kù)對(duì)象

      All_ 用戶權(quán)限范圍內(nèi)所有的數(shù)據(jù)庫(kù)對(duì)象 Dba_ 所有的數(shù)據(jù)庫(kù)對(duì)象

      V$Content$nbsp;統(tǒng)計(jì)分析數(shù)據(jù)庫(kù)的視圖 賦于oem_monitor權(quán)限非DBA用戶也可查詢V$*視圖

      5.查詢數(shù)據(jù)字典

      SQL> select * from dictionary where instr(comments,'index')>0;SQL> select constraint_name, constraint_type, 2 search_condition, r_constraint_name 3 from user_constraints 4 where table_name = ‘&table_name';十一.控制數(shù)據(jù)、INSERT(往數(shù)據(jù)表里插入記錄的語(yǔ)句)SQL> insert into 表名(字段名1, 字段名2, ……)values(值1, 值2, ……);SQL> insert into 表名(字段名1, 字段名2, ……)select(字段名1, 字段名2, ……)from 另外的表名 where 條件;可以用&標(biāo)記變量的方法多次輸入記錄

      快速插入數(shù)據(jù)的方法, 一般用于大于128M的數(shù)據(jù)轉(zhuǎn)移 SQL> insert /*+ append */ into 表名

      select * from 另外的用戶名.另外的表名 WHERE 條件;SQL> commit;注意事項(xiàng):

      用INSERT /*+ APPEND */ 的方法會(huì)對(duì)target_tablename產(chǎn)生級(jí)別為6的獨(dú)占鎖,如果運(yùn)行此命令時(shí)還有對(duì)target_tablename的DML操作會(huì)排隊(duì)在它后面, 對(duì)OLTP系統(tǒng)在用的表操作是不合適的。17

      J2EE @ zxw 2.插入字符串類型的字段的注意事項(xiàng): 字符串類型的字段值必須用單引號(hào)括起來, 例如: ’GOOD DAY’

      如果字段值里包含單引號(hào)’ 需要進(jìn)行字符串轉(zhuǎn)換, 我們把它替換成兩個(gè) 單引號(hào)’ ’

      字符串類型的字段值超過定義的長(zhǎng)度會(huì)出錯(cuò), 最好在插入前進(jìn)行長(zhǎng)度校驗(yàn) ‘’ 標(biāo)記是NULL, user 標(biāo)明當(dāng)前用戶

      日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫(kù)的系統(tǒng)時(shí)間SYSDATE, 精確到秒

      用字符串轉(zhuǎn)換成日期型函數(shù)TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)TO_DATE()還有很多種日期格式, 可以參看ORACLE DOC.年-月-日 小時(shí):分鐘:秒 的格式Y(jié)YYY-MM-DD HH24:MI:SS NSERT時(shí)最大可操作的字符串長(zhǎng)度小于等于4000個(gè)單字節(jié), 如果要插入更長(zhǎng)的字符串, 請(qǐng)考慮字段用CLOB類型, 方法借用ORACLE里自帶的DBMS_LOB程序包.3、UPDATE(修改數(shù)據(jù)表里記錄的語(yǔ)句)SQL> UPDATE 表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 條件;如果修改的值N沒有賦值或定義時(shí), 將把原來的記錄內(nèi)容清為NULL, 最好在修改前進(jìn)行非空校驗(yàn);值N超過定義的長(zhǎng)度會(huì)出錯(cuò), 最好在插入前進(jìn)行長(zhǎng)度校驗(yàn).新功能,可以修改子查詢后的結(jié)果集

      例子:SQL> update(select * from s_dept)set id=50 where id=60;

      4、DELETE(刪除數(shù)據(jù)表里記錄的語(yǔ)句)SQL> DELETE FROM 表名 WHERE 條件;注意:刪除記錄并不能釋放ORACLE里被占用的數(shù)據(jù)塊表空間.它只把那些 被刪除的數(shù)據(jù)塊標(biāo)成unused.如果確實(shí)要?jiǎng)h除一個(gè)大表里的全部記錄, 可以用 TRUNCATE 命令, 它可以釋放占用的數(shù)據(jù)塊表空間

      SQL> TRUNCATE TABLE 表名;此操作不可回退.5、SQL語(yǔ)句的分類 數(shù)據(jù)定義語(yǔ)言(DDL):create、alter、drop(創(chuàng)建、修改結(jié)構(gòu)、刪除)(其他:rename)數(shù)據(jù)操縱語(yǔ)言(DML):insert、delete、select、update(增、刪、查、改)(其他:truncate)

      數(shù)據(jù)控制語(yǔ)言(DCL):grant、revoke(授權(quán)、回收)、set role 事務(wù)控制:commit、rollback、savepoint(其他:lock table、set constraint、set transaction)

      審計(jì)控制:audit、noaudit 系統(tǒng)控制:alter system 會(huì)話控制:alter session 其他語(yǔ)句:comment(添加注釋)、explain plan、analyze、validate、call

      6、ORACLE里事務(wù)控制 Commit 提交事務(wù) Rollback 回退事務(wù)

      Savepoint 設(shè)置斷點(diǎn), 在事務(wù)中標(biāo)記位置, 事務(wù)結(jié)束, 斷點(diǎn)釋放

      事務(wù)結(jié)束的情況遇到commit或者rollback遇到DDL和DCL語(yǔ)句發(fā)現(xiàn)錯(cuò)誤,如死鎖用戶退出

      SQL*PLUS系統(tǒng)重啟或崩潰 7.DML操作的注意事項(xiàng) 18

      J2EE @ zxw 以上SQL語(yǔ)句對(duì)表都加上了行級(jí)鎖, 確認(rèn)完成后, 必須加上事物處理結(jié)束的命令COMMIT 才能正式生效, 否則改變不一定寫入數(shù)據(jù)庫(kù)里.行級(jí)鎖也未能得到釋放.如果想撤回這些操作, 可以用命令 ROLLBACK 復(fù)原.在運(yùn)行INSERT, DELETE 和 UPDATE 語(yǔ)句前最好估算一下可能操作的記錄范圍, 應(yīng)該把它限定在較小(一萬條記錄)范圍內(nèi),.否則ORACLE處理這個(gè)事物用到很大的回退段.程序響應(yīng)慢甚至失去響應(yīng).如果記錄數(shù)上十萬以上這些操作, 可以把這些SQL語(yǔ)句分段分次完成, 其間加上COMMIT 確認(rèn)事物處理.太過頻繁的commit不好

      第三篇:黑馬程序員c語(yǔ)言教程:Oracle概念(推薦)

      七、在執(zhí)行SQL語(yǔ)句時(shí)綁定變量

      1.接收和定義變量的SQL*PLUS命令 ACCEPT DEFINE UNDEFINE & 2.綁定變量SQL語(yǔ)句的例子(1)SQL> select id, last_name, salary from s_emp where dept_id = &department_number;Enter value for department_number: 10 old 1: select id, last_name, salary from s_emp where dept_id=&department_number;new 1: select id, last_name, salary from s_emp where dept_id= 10 SQL> SET VERIFY OFF | ON;可以關(guān)閉和打開提示確認(rèn)信息old 1和new 1的顯示.3.綁定變量SQL語(yǔ)句的例子(2)SQL> select id, last_name, salary from s_emp where title = '&job_title';Enter value for job_title: Stock Clerk 11

      J2EE @ zxw SQL> select id, last_name, salary from s_emp where hiredate >to_date('&start_hire_date','YYYY-MM-DD');Enter value for start_hire_date : 2001-01-01 把綁定字符串和日期類型變量時(shí),變量外面要加單引號(hào) 也可綁定變量來查詢不同的字段名 輸入變量值的時(shí)候不要加;等其它符號(hào) 4.ACCEPT的語(yǔ)法和例子

      SQL> ACCEPT variable [datatype] [FORMAT] [PROMPT text] [HIDE] 說明: variable 指變量名 datatype 指變量類型,如number,char等 format 指變量顯示格

      式 prompt text 可自定義彈出提示符的內(nèi)容text hide 隱藏用戶的輸入符號(hào) 使用ACCEPT的例子:

      ACCEPT p_dname PROMPT 'Provide the department name: ' ACCEPT p_salary NUMBER PROMPT 'Salary amount: ' ACCEPT pswd CHAR PROMPT 'Password: ' HIDE ACCEPT low_date date format 'YYYY-MM-DD' PROMPT“Enter the low date range('YYYY-MM-DD'):” 4.DEFINE的語(yǔ)法和例子

      SQL> DEFINE variable = value 說明: variable 指變量名 value 指變量值

      定義好了變良值后, 執(zhí)行綁定變量的SQL語(yǔ)句時(shí)不再提示輸入變量

      使用DEFINE的例子:

      SQL> DEFINE dname = sales SQL> DEFINE dname DEFINE dname = “sales”(CHAR)SQL> select name from dept where lower(name)='&dname';NAME-------------------------sales sales SQL> UNDEFINE dname SQL> DEFINE dname Symbol dname is UNDEFINED 5.SQL*PLUS里傳遞參數(shù)到保存好的*.sql文件里 SQL> @ /路徑名/文件名 參數(shù)名1[,參數(shù)名2, ?.] SQL> start /路徑名/文件名 參數(shù)名1[,參數(shù)名2, ?.] 注意事項(xiàng): 一次最多只能獲取9個(gè)&變量, 變量名稱只能是從&1,&2到&9 變量名后不要加特殊的結(jié)束符號(hào)

      如果在SQL*PLUS里要把&符號(hào)保存在ORACLE數(shù)據(jù)庫(kù)里,要修改sql*plus環(huán)境變量define SQL> set define off;

      八、概述數(shù)據(jù)模型和數(shù)據(jù)庫(kù)設(shè)計(jì) 1.系統(tǒng)開發(fā)的階段: Strategy and Analysis Design Build and Document Transition Production 12

      J2EE @ zxw 2.數(shù)據(jù)模型

      Model of system in client's mind Entity model of client's model Table model of entity model Tables on disk 3.實(shí)體關(guān)系模型(ERM)概念

      ERM(entity relationship modeling)實(shí)體 存有特定信息的目標(biāo)和事件 例如: 客戶,訂單等 屬性 描述實(shí)體的屬性 例如: 姓名,電話號(hào)碼等 關(guān)系 兩個(gè)實(shí)體間的關(guān)系 例如:訂單和產(chǎn)品等 實(shí)體關(guān)系模型圖表里的約定

      Dashed line(虛線)可選參數(shù) “may be”

      Solid line(實(shí)線)必選參數(shù) “must be”

      Crow's foot(多線)程度參數(shù) “one or more”

      Single line(單線)程度參數(shù) “one and only one” 4.實(shí)體關(guān)系模型例子

      每個(gè)訂單都必須有一個(gè)或幾個(gè)客戶

      每個(gè)客戶可能是一個(gè)或幾個(gè)訂單的申請(qǐng)者 5.實(shí)體關(guān)系的類型

      1:1 一對(duì)一 例如: 的士和司機(jī) M:1 多對(duì)一 例如: 乘客和飛機(jī) 1:M 一對(duì)多 例如: 員工和技能 6.校正實(shí)體關(guān)系的原則

      屬性是單一值的, 不會(huì)有重復(fù)

      屬性必須依存于實(shí)體, 要有唯一標(biāo)記

      沒有非唯一屬性依賴于另一個(gè)非唯一的屬性 7.定義結(jié)構(gòu)時(shí)的注意事項(xiàng) 減少數(shù)據(jù)冗余

      減少完整性約束產(chǎn)生的問題 確認(rèn)省略的實(shí)體,關(guān)系和屬性 8.完整性約束的要求

      Primary key 主關(guān)鍵字 唯一非NULL Foreign key 外鍵 依賴于另一個(gè)Primary key,可能為NULL Column 字段名 符合定義的類型和長(zhǎng)度

      Constraint 約束條件 用戶自定義的約束條件,要符合工作流要求 例如: 一個(gè)銷售人員的提成不能超過它的基本工資

      Candidate key 候選主關(guān)鍵字 多個(gè)字段名可組成候選主關(guān)鍵字, 其組合是唯一和非NULL的

      9.把實(shí)體關(guān)系圖映射到關(guān)系數(shù)據(jù)庫(kù)對(duì)象的方法 把簡(jiǎn)單實(shí)體映射到數(shù)據(jù)庫(kù)里的表

      把屬性映射到數(shù)據(jù)庫(kù)里的表的字段, 標(biāo)明類型和注釋 把唯一標(biāo)記映射到數(shù)據(jù)庫(kù)里的唯一關(guān)鍵字 把實(shí)體間的關(guān)系映射到數(shù)據(jù)庫(kù)里的外鍵 13

      J2EE @ zxw 其它的考慮: 設(shè)計(jì)索引,使查詢更快

      建立視圖,使信息有不同的呈現(xiàn)面, 減少?gòu)?fù)雜的SQL語(yǔ)句 計(jì)劃存儲(chǔ)空間的分配 重新定義完整性約束條件

      10.實(shí)體關(guān)系圖里符號(hào)的含義 PK 唯一關(guān)鍵字的字段 FK 外鍵的字段

      FK1,FK2 同一個(gè)表的兩個(gè)不同的外鍵

      FK1,FK1 兩個(gè)字段共同組成一個(gè)外鍵 NN 非null字段 U 唯一字段

      U1,U1 兩個(gè)字段共同組成一個(gè)唯一字段

      九、創(chuàng)建表

      1.ORACLE常用的字段類型 ORACLE常用的字段類型有

      VARCHAR2(size)可變長(zhǎng)度的字符串, 必須規(guī)定長(zhǎng)度 CHAR(size)固定長(zhǎng)度的字符串, 不規(guī)定長(zhǎng)度默認(rèn)值為1

      NUMBER(p,s)數(shù)字型p是位數(shù)總長(zhǎng)度, s是小數(shù)的長(zhǎng)度, 可存負(fù)數(shù) 最長(zhǎng)38位.不夠位時(shí)會(huì)四舍五入.DATE 日期和時(shí)間類型

      LOB 超長(zhǎng)字符, 最大可達(dá)4G CLOB 超長(zhǎng)文本字符串 BLOB 超長(zhǎng)二進(jìn)制字符串

      BFILE 超長(zhǎng)二進(jìn)制字符串, 保存在數(shù)據(jù)庫(kù)外的文件里是只讀的.數(shù)字字段類型位數(shù)及其四舍五入的結(jié)果 原始數(shù)值1234567.89 數(shù)字字段類型位數(shù) 存儲(chǔ)的值 Number 1234567.89 Number 12345678 Number 錯(cuò)

      Number(9,1)1234567.9 Number(9,3)錯(cuò) Number(7,2)錯(cuò)

      Number(5,-2)1234600 Number(5,-4)1230000 Number(*,1)1234567.9 2.創(chuàng)建表時(shí)給字段加默認(rèn)值 和約束條件 創(chuàng)建表時(shí)可以給字段加上默認(rèn)值

      例如 : 日期字段 DEFAULT SYSDATE 這樣每次插入和修改時(shí), 不用程序操作這個(gè)字段都能得到動(dòng)作的時(shí)間 14

      J2EE @ zxw 創(chuàng)建表時(shí)可以給字段加上約束條件 例如: 非空 NOT NULL 不允許重復(fù) UNIQUE 關(guān)鍵字 PRIMARY KEY 按條件檢查 CHECK(條件)外鍵 REFERENCES 表名(字段名)3.創(chuàng)建表的例子

      CREATE TABLE DEPT(EPTNO NUMBER(2)CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13));CREATE TABLE region(ID number(2)NOT NULL PRIMARY KEY, postcode number default '0' NOT NULL, areaname varchar2(30)default ' ' NOT NULL);4.創(chuàng)建表時(shí)的命名規(guī)則和注意事項(xiàng)

      表名和字段名的命名規(guī)則:必須以字母開頭,可以含符號(hào)A-Z,a-z,0-9,_,$,# 大小寫不區(qū)分

      不用SQL里的保留字, 一定要用時(shí)可用雙引號(hào)把字符串括起來. 用和實(shí)體或?qū)傩韵嚓P(guān)的英文符號(hào)長(zhǎng)度有一定的限制 注意事項(xiàng): 建表時(shí)可以用中文的字段名, 但最好還是用英文的字段名

      創(chuàng)建表時(shí)要把較小的不為空的字段放在前面, 可能為空的字段放在后面 建表時(shí)如果有唯一關(guān)鍵字或者唯一的約束條件,建表時(shí)自動(dòng)建了索引 一個(gè)表的最多字段個(gè)數(shù)也是有限制的,254個(gè).5.約束名的命名規(guī)則和語(yǔ)法

      約束名的命名規(guī)則約束名如果在建表的時(shí)候沒有指明,系統(tǒng)命名規(guī)則是SYS_Cn(n是數(shù)字)約束名字符串的命名規(guī)則同于表和字段名的命名規(guī)則 6.使用約束時(shí)的注意事項(xiàng)

      約束里不能用系統(tǒng)函數(shù),如SYSDATE和別的表的字段比較 可以用本表內(nèi)字段的比較

      想在事務(wù)處理后, 做約束的檢查

      SQL> alter session set constraints deferred.7.由實(shí)體關(guān)系圖到創(chuàng)建表的例子 s_dept 前提條件:已有region表且含唯一關(guān)鍵字的字段id SQL> CREATE TABLE s_dept(id NUMBER(7)CONSTRAINT s_dept_id_pk PRIMARY KEY, name VARCHAR2(25)CONSTRAINT s_dept_name_nn NOT NULL, region_id NUMBER(7)CONSTRAINT s_dept_region_id_fk REFERENCES region(id), CONSTRAINT s_dept_name_region_id_uk UNIQUE(name, region_id));8.較復(fù)雜的創(chuàng)建表例子 15

      J2EE @ zxw SQL> CREATE TABLE s_emp(id NUMBER(7)CONSTRAINT s_emp_id_pk PRIMARY KEY, last_name VARCHAR2(25)CONSTRAINT s_emp_last_name_nn NOT NULL,first_name VARCHAR2(25), userid VARCHAR2 CONSTRAINT s_emp_userid_nn NOT NULL CONSTRAINT s_emp_userid_uk UNIQUE, start_date DATE DEFAULT SYSDATE, comments VARCHAR2(25), manager_id NUMBER(7), title VARCHAR2(25), dept_id NUMBER(7)CONSTRAINT s_emp_dept_id_fk REFERENCES s_dept(id), salary NUMBER(11,2), commission_pct NUMBER(4,2)CONSTRAINT s_emp_commission_pct_ck CHECK(commission_pct IN(10,12.5,15,17.5,20)));

      第四篇:黑馬程序員c語(yǔ)言教程:Oracle指令

      ---------------------------order by的用法

      --員工信息按照姓名正序排列

      select * from emp order by ename asc;--員工信息按照倒敘排列

      select * from emp order by ename desc;--也可以是多個(gè)字段組合排列。例如:?jiǎn)T工信息按照部門正序排列,并且按照姓名倒敘排列

      select * from emp order by deptno asc,ename desc

      ---------------------------function的用法--把所有姓名變成小寫

      select lower(ename)from emp;--把所有姓名變成大寫

      select upper(ename)from emp;--求所有人名中包含'a'的員工信息不區(qū)分大小寫

      select * from emp where lower(ename)like '%a%'--截取子字符串,比如求Hello的一部分 select substr('hello',2,2)from dual;select substr(ename,2,2)from emp;--求Hello的一部分,并指明長(zhǎng)度

      --求ascii碼對(duì)應(yīng)的字符 select chr(65)from dual--求字符對(duì)應(yīng)的ascii碼

      select ascii('中')from dual--四舍五入

      select round(12.456,2)from dual select round(12.456,-1)from dual--四舍五入小數(shù)點(diǎn)后面多少位

      --四舍五入小數(shù)點(diǎn)前面多少位

      ---------------------------important!日期轉(zhuǎn)換函數(shù)

      ---------------------------將當(dāng)前日期轉(zhuǎn)換成1981-03-12 12:00:00這種形式的字符串

      select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')from dual;

      --將1981-03-12 12:00:00字符串轉(zhuǎn)換成日期

      select to_date('1981-03-12 12:00:00','YYYY-MM-DD HH24:MI:SS')from

      dual;

      --將每個(gè)人的薪水轉(zhuǎn)換成固定格式的字符串

      select to_char(sal,'$999,999,999.99')from emp;--將固定格式的字符串轉(zhuǎn)換成數(shù)值

      select to_number('$8,000.00','$999,999,999.99')from dual;

      --當(dāng)null參與計(jì)算時(shí)候,可以用nvl這個(gè)函數(shù)。比如求每個(gè)人一年總共的收入 select ename,sal*12+comm from emp

      ---------------------------group function組函數(shù)

      --求所有人的薪水的總和,平均值,最大值,最小值

      select sum(sal),avg(sal),max(sal),min(sal)from emp;--求總的行數(shù)

      select count(*)from emp;--求總的行樹,(可以指定具體的字段)但如果字段有null值的時(shí)候需要小心使用 select count(comm)from emp;

      --也可以過濾掉重復(fù)的行之后統(tǒng)計(jì)行數(shù)

      select count(distinct deptno)from emp--可以指明按照哪個(gè)字段進(jìn)行分組.比如;分部門統(tǒng)計(jì)最高薪水

      select deptno,max(sal)from emp where deptno is not null group by deptno--也可以按照多個(gè)字段來分組統(tǒng)計(jì),比如:分部門和崗位,統(tǒng)計(jì)最高薪水和行數(shù) select deptno,job,max(sal),count(*)from emp group by deptno,job

      ---------------------------重要:出現(xiàn)在select列表中的字段,如果沒有在組函數(shù)中,那么必須出現(xiàn)在group by 子句中。

      -------------------------select ename,deptno,job,max(sal),count(*)from emp group by deptno,job

      --求薪水最高的員工姓名

      select * from emp where sal=(select max(sal)from emp);delete from emp where ename='TEST2' update emp set deptno=10 where deptno=99 select * from dept insert into dept(deptno,dname,loc)values('10','ACCOUNTING','NEW YORK');--having從句的用法

      --求平均薪水是2000以上的部門

      select deptno,avg(sal)as avg_sal from emp group by deptno

      having avg(sal)>2000-------------------------

      第五篇:黑馬程序員c語(yǔ)言教程:Oracle指令

      --sql structured query language

      --DML--Data Manipulation Language--數(shù)據(jù)操作語(yǔ)言

      query information(SELECT), add new rows(INSERT), modify existing rows(UPDATE), delete existing rows(DELETE), perform a conditional update or insert operation(MERGE), see an execution plan of SQL(EXPLAIN PLAN), and lock a table to restrict access(LOCK TABLE).--DDL--Data Definition Language--數(shù)據(jù)定義語(yǔ)言

      create, modify,drop, or rename objects(CREATE,ALTER,DROP,RENAME), remove all rows from a database object without dropping the structure(TRUNCATE), manage access privileges(GRANT,REVOKE), audit database use(AUDIT,NOAUDIT)and add a description about an object to the dictionary(COMMENT).--Transaction Control事務(wù)控制語(yǔ)句 save the changes(COMMIT)or discard the changes(ROLLBACK)made by DML statements.Also included in the transaction-control statements are statements to set a point or marker in the transaction for possible rollback(SAVEPOINT)and to define the properties for the transaction(SET TRANSACTION).Used to manage the properties of the database.There isonly one statement in this category(ALTER SYSTEM).--DCL--Data Control Language--與開發(fā)關(guān)系不是很密切,用于權(quán)限的分配與回收 grant,revoke,data control

      --Session Control control the session properties(ALTER SESSION)and to enable/disable roles(SET ROLE).--System Control

      -------------------------select的用法

      --每個(gè)員工的所有信息

      select * from emp--每個(gè)人的部門編號(hào),姓名,薪水

      select deptno,ename,sal from emp;--每個(gè)人的年薪

      select ename,sal*12 from emp;--計(jì)算2*3的值

      select 2*3 from emp;--計(jì)算2*3的值(dual)select 2*3 from dual;select * from dual;--得到當(dāng)前時(shí)間

      select sysdate from dual--可以給列起別名,比如求每個(gè)人的年薪

      select ename,sal*12 salperyear from emp;--如果別名中有空格,需要用雙引號(hào)

      select ename,sal*12 “sal per year” from emp;--如果沒有內(nèi)容,則為空 select comm from emp;--當(dāng)空字段參與計(jì)算,則結(jié)果是null--例如:計(jì)算每個(gè)人的全年的收入包括月薪和年終獎(jiǎng) select ename,sal*12+comm from emp;--可以將多個(gè)字符串拼在一起。比如:求每個(gè)人的薪水,格式為smith-sal-123 select ename||'-sal-'||sal from emp;--如果字符串中有單引號(hào),需要用另外一個(gè)單引號(hào)轉(zhuǎn)義,比如:這樣一個(gè)字符串: he's friend select ename||'''s sal is'||sal from emp;

      ---------------------------distinct 關(guān)鍵詞的用法--求有哪些個(gè)部門

      select distinct deptno from emp--可以用來修飾多個(gè)字段。比如:求有哪些個(gè)部門和job的組合 select distinct deptno,job from emp

      -------------------------where關(guān)鍵詞的用法

      --可以是數(shù)值類型的等值判斷。比如:求10這個(gè)部門的所有員工 select * from emp where deptno=20--可以是字符串類型的等值判斷。比如:求叫KING的這個(gè)人的信息 select * from emp where ename = 'KING'--也可以是不等值判斷。比如:求薪水小于2000的員工信息 select * from emp where sal<2000;

      --字符串也可以做不等值判斷,比如:求所有ename大于'CBA'的員工信息。select * from emp where ename>'CBA';--求部門不是10的員工

      select * from emp where deptno <> 10;--求薪水在800和1500之間的員工信息

      select * from emp where sal >=800 and sal <=1500;--也可以寫成

      select * from emp where sal between 800 and 1500--這樣寫則不可以

      -----------------------------select * from emp where 800<=sal<=1500--where...in..的用法。比如:求薪水是800或者1500或正2000的員工信息 select * from emp where sal=800 or sal=1500 or sal=2000--相當(dāng)于寫成這樣

      select * from emp where sal in(1500,800,2000,1500,1500,1500,1500);--再比如求姓名是KING,SMITH,AA的員工信息

      select * from emp where ename in('KING','SMITH','AA')--求入職時(shí)間在20-2月-81之后的員工信息

      select * from emp where hiredate < '23-5月-87';

      ---------------------------and or not的用法

      --求薪水大于1000或者部門在20這個(gè)部門的員工信息 select * from emp where sal>1000 and deptno=20--求薪水不是800或者不是1500或者不是3000的員工信息 select * from emp where sal not in(800,1500,3000)--也可以這樣來寫

      select * from emp where sal <>800 and sal <> 1500 and sal<>3000

      ---------------------------like的用法

      --求名字中包含ALL這三個(gè)字符的員工信息

      select * from emp where ename like '%E%';--求名字中的第二個(gè)字母是A的員工

      select * from emp where ename like '_A%';--特殊字符需要轉(zhuǎn)義。比如:求員工中包含特殊字符%的員工信息 select * from emp where ename like '%%%' escape ''

      ---------------------------null的用法

      --求沒有年終獎(jiǎng)的員工

      select * from emp where comm is null--求有年終獎(jiǎng)的員工

      select * from emp where comm is not null

      下載黑馬程序員c語(yǔ)言教程:查看數(shù)據(jù)庫(kù)的SQL,oracle用戶管理,五篇范文word格式文檔
      下載黑馬程序員c語(yǔ)言教程:查看數(shù)據(jù)庫(kù)的SQL,oracle用戶管理,五篇范文.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        黑馬程序員c語(yǔ)言教程:Oracle概念

        一、選擇行 1. 簡(jiǎn)單的SELECT 語(yǔ)句 SELECT 字段名1 [AS] '字段名1 解釋' FROM table; 2. 處理NULL NVL函數(shù)可把NULL轉(zhuǎn)換成其它類型的符號(hào) 編程技巧: NVL函數(shù)在多條件模糊查詢......

        黑馬程序員c語(yǔ)言教程:Oracle指令大全

        --什么時(shí)候用外連接呢?比如領(lǐng)導(dǎo)向你要所有學(xué)生的列表,順便把所屬的班級(jí)也列出來,就需要外連接 --在Where語(yǔ)句中使用子查詢 --- --雇員中最高薪水的人員名稱 --1,先求出最高......

        黑馬程序員c語(yǔ)言教程:SQL函數(shù)

        日期 Oracle 中的日期型數(shù)據(jù)實(shí)際含有兩個(gè)值: 日期和時(shí)間。 默認(rèn)的日期格式是 DD-MON-RR. 函數(shù)SYSDATE 返回: 日期 時(shí)間 在日期上加上或減去一個(gè)數(shù)字結(jié)果仍為日期。 兩個(gè)日......

        黑馬程序員c語(yǔ)言教程:ORACLE 常用的SQL語(yǔ)法和數(shù)據(jù)對(duì)象

        ORACLE 常用的SQL語(yǔ)法和數(shù)據(jù)對(duì)象 一.數(shù)據(jù)控制語(yǔ)句 (DML) 部分 1.INSERT (往數(shù)據(jù)表里插入記錄的語(yǔ)句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);......

        黑馬程序員c語(yǔ)言教程:Oracle概念(5篇)

        四、從多個(gè)表里選取數(shù)據(jù)記錄 1. 數(shù)據(jù)表間的連接 簡(jiǎn)單的連接語(yǔ)法: SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 表名1.字段名 = 表名2. 字段名 [ AND …......

        黑馬程序員c語(yǔ)言教程:Oracle指令大全(6)

        ------------------------------ --為什么in的后面不能order by ?- --求部門經(jīng)理人中平均薪水最低的部門名稱 (思考題) 第一步,求部門經(jīng)理的雇員編號(hào) select distinct mgr fr......

        黑馬程序員c語(yǔ)言教程:Oracle指令大全(5篇)

        --總結(jié)一下select語(yǔ)法 select from where group by having order by ------------------------- -- 執(zhí)行順序very important! -- 首先執(zhí)行where語(yǔ)句將原有記錄過濾; -- 第二......

        黑馬程序員c語(yǔ)言教程:Oracle指令大全(5篇可選)

        ------------------------- --不準(zhǔn)用組函數(shù)(即MAX),求薪水的最高值(面試題) --第一種解決辦法: --1,先把所有薪水按照倒序排列 --2,再取第一行 select * from (select sal......