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

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

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

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

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

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

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

      第一篇:黑馬程序員c語言教程:ORACLE 常用的SQL語法和數(shù)據(jù)對象

      ORACLE 常用的SQL語法和數(shù)據(jù)對象 一.數(shù)據(jù)控制語句(DML)部分

      1.INSERT(往數(shù)據(jù)表里插入記錄的語句)INSERT INTO 表名(字段名1, 字段名2, ……)VALUES(值1, 值2, ……);INSERT INTO 表名(字段名1, 字段名2, ……)SELECT(字段名1, 字段名2, ……)FROM 另外的表名;字符串類型的字段值必須用單引號括起來, 例如: ’GOOD DAY’

      如果字段值里包含單引號’ 需要進(jìn)行字符串轉(zhuǎn)換, 我們把它替換成兩個(gè)單引號''.字符串類型的字段值超過定義的長度會出錯(cuò), 最好在插入前進(jìn)行長度校驗(yàn).日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫的系統(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 INSERT時(shí)最大可操作的字符串長度小于等于4000個(gè)單字節(jié), 如果要插入更長的字符串, 請考慮字段用CLOB類型, 方法借用ORACLE里自帶的DBMS_LOB程序包.INSERT時(shí)如果要用到從1開始自動(dòng)增長的序列號, 應(yīng)該先建立一個(gè)序列號

      CREATE SEQUENCE 序列號的名稱(最好是表名+序列號標(biāo)記)INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;其中最大的值按字段的長度來定, 如果定義的自動(dòng)增長的序列號 NUMBER(6), 最大值為999999 INSERT 語句插入這個(gè)字段值為: 序列號的名稱.NEXTVAL 2.DELETE(刪除數(shù)據(jù)表里記錄的語句)DELETE FROM表名 WHERE 條件;注意:刪除記錄并不能釋放ORACLE里被占用的數(shù)據(jù)塊表空間.它只把那些被刪除的數(shù)據(jù)塊標(biāo)成unused.如果確實(shí)要?jiǎng)h除一個(gè)大表里的全部記錄, 可以用 TRUNCATE 命令, 它可以釋放占用的數(shù)據(jù)塊表空間

      TRUNCATE TABLE 表名;此操作不可回退.3.UPDATE(修改數(shù)據(jù)表里記錄的語句)UPDATE表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 條件;如果修改的值N沒有賦值或定義時(shí), 將把原來的記錄內(nèi)容清為NULL, 最好在修改前進(jìn)行非空校驗(yàn);值N超過定義的長度會出錯(cuò), 最好在插入前進(jìn)行長度校驗(yàn)..注意事項(xiàng): A.以上SQL語句對表都加上了行級鎖, 確認(rèn)完成后, 必須加上事物處理結(jié)束的命令 COMMIT 才能正式生效, 否則改變不一定寫入數(shù)據(jù)庫里.如果想撤回這些操作, 可以用命令 ROLLBACK 復(fù)原.B.在運(yùn)行INSERT, DELETE 和 UPDATE 語句前最好估算一下可能操作的記錄范圍,應(yīng)該把它限定在較小(一萬條記錄)范圍內(nèi),.否則ORACLE處理這個(gè)事物用到很大的回退段.程序響應(yīng)慢甚至失去響應(yīng).如果記錄數(shù)上十萬以上這些操作, 可以把這些SQL語句分段分次完成, 其間加上COMMIT 確認(rèn)事物處理.二.數(shù)據(jù)定義(DDL)部分

      1.CREATE(創(chuàng)建表, 索引, 視圖, 同義詞, 過程, 函數(shù), 數(shù)據(jù)庫鏈接等)ORACLE常用的字段類型有

      CHAR 固定長度的字符串 VARCHAR2 可變長度的字符串

      NUMBER(M,N)數(shù)字型M是位數(shù)總長度, N是小數(shù)的長度 DATE 日期類型

      創(chuàng)建表時(shí)要把較小的不為空的字段放在前面, 可能為空的字段放在后面 創(chuàng)建表時(shí)可以用中文的字段名, 但最好還是用英文的字段名 創(chuàng)建表時(shí)可以給字段加上默認(rèn)值, 例如 DEFAULT SYSDATE 這樣每次插入和修改時(shí), 不用程序操作這個(gè)字段都能得到動(dòng)作的時(shí)間 創(chuàng)建表時(shí)可以給字段加上約束條件

      例如 不允許重復(fù) UNIQUE, 關(guān)鍵字 PRIMARY KEY 2.ALTER(改變表, 索引, 視圖等)改變表的名稱

      ALTER TABLE 表名1 TO 表名2;在表的后面增加一個(gè)字段

      ALTER TABLE表名 ADD 字段名 字段名描述;修改表里字段的定義描述

      ALTER TABLE表名 MODIFY字段名 字段名描述;給表里的字段加上約束條件

      ALTER TABLE 表名 ADD CONSTRAINT 約束名 PRIMARY KEY(字段名);ALTER TABLE 表名 ADD CONSTRAINT 約束名 UNIQUE(字段名);把表放在或取出數(shù)據(jù)庫的內(nèi)存區(qū) ALTER TABLE 表名 CACHE;ALTER TABLE 表名 NOCACHE;3.DROP(刪除表, 索引, 視圖, 同義詞, 過程, 函數(shù), 數(shù)據(jù)庫鏈接等)刪除表和它所有的約束條件

      DROP TABLE 表名 CASCADE CONSTRAINTS;4.TRUNCATE(清空表里的所有記錄, 保留表的結(jié)構(gòu))TRUNCATE 表名;三.查詢語句(SELECT)部分

      SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 條件;字段名可以帶入函數(shù)

      例如: COUNT(*), MIN(字段名), MAX(字段名), AVG(字段名), DISTINCT(字段名), TO_CHAR(DATE字段名,'YYYY-MM-DD HH24:MI:SS')NVL(EXPR1, EXPR2)函數(shù)

      解釋: IF EXPR1=NULL RETURN EXPR2 ELSE RETURN EXPR1 DECODE(AA﹐V1﹐R1﹐V2﹐R2....)函數(shù) 解釋: IF AA=V1 THEN RETURN R1 IF AA=V2 THEN RETURN R2..… ELSE RETURN NULL LPAD(char1,n,char2)函數(shù) 解釋: 字符char1按制定的位數(shù)n顯示,不足的位數(shù)用char2字符串替換左邊的空位 字段名之間可以進(jìn)行算術(shù)運(yùn)算 例如:(字段名1*字段名1)/3 查詢語句可以嵌套

      例如: SELECT …… FROM(SELECT …… FROM表名1, [表名2, ……] WHERE 條件)WHERE 條件2;兩個(gè)查詢語句的結(jié)果可以做集合操作

      例如: 并集UNION(去掉重復(fù)記錄), 并集UNION ALL(不去掉重復(fù)記錄), 差集MINUS, 交集INTERSECT 分組查詢

      SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] GROUP BY字段名1 [HAVING 條件];兩個(gè)以上表之間的連接查詢

      SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 表名1.字段名 = 表名2.字段名 [ AND ……];SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 表名1.字段名 = 表名2.字段名(+)[ AND ……];有(+)號的字段位置自動(dòng)補(bǔ)空值

      查詢結(jié)果集的排序操作, 默認(rèn)的排序是升序ASC, 降序是DESC SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] ORDER BY字段名1, 字段名2 DESC;字符串模糊比較的方法

      INSTR(字段名, ‘字符串’)>0 字段名 LIKE ‘字符串%’ [‘%字符串%’] 每個(gè)表都有一個(gè)隱含的字段ROWID, 它標(biāo)記著記錄的唯一性.四.ORACLE里常用的數(shù)據(jù)對象(SCHEMA)1.索引(INDEX)CREATE INDEX 索引名ON 表名(字段1, [字段2, ……]);

      ALTER INDEX 索引名 REBUILD;一個(gè)表的索引最好不要超過三個(gè)(特殊的大表除外), 最好用單字段索引, 結(jié)合SQL語句的分析執(zhí)行情況, 也可以建立多字段的組合索引和基于函數(shù)的索引

      ORACLE8.1.7字符串可以索引的最大長度為1578 單字節(jié) ORACLE8.0.6字符串可以索引的最大長度為758 單字節(jié)--MartriWang@gmail.com 10/05/2007--(1)*Tree索引。

      Create index indexname on tablename(columnname[columnname...])(2)反向索引。

      Create index indexname on tablename(columnname[columnname...])reverse(3)降序索引。

      Create index indexname on tablename(columnname DESC[columnname...])(4)位圖索引。

      Create BITMAP index indexname on tablename(columnname[columnname...])(5)函數(shù)索引。

      Create index indexname on tablename(functionname(columnname))注意:創(chuàng)建索引后分析要索引才能起作用。

      analyze index indexname compute statistics;

      2.視圖(VIEW)CREATE VIEW 視圖名AS SELECT ….FROM …..;ALTER VIEW視圖名 COMPILE;視圖僅是一個(gè)SQL查詢語句, 它可以把表之間復(fù)雜的關(guān)系簡潔化.3.同義詞(SYNONMY)CREATE SYNONYM同義詞名FOR 表名;CREATE SYNONYM同義詞名FOR 表名@數(shù)據(jù)庫鏈接名;4.數(shù)據(jù)庫鏈接(DATABASE LINK)CREATE DATABASE LINK數(shù)據(jù)庫鏈接名CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING ‘?dāng)?shù)據(jù)庫連接字符串’;--MartriWang@gmail.com 10/05/2007--create database mynewdb user sys IDENTIFIED BY sys_id user system IDENTIFIED BY system_id LOGFILE GROUP 1('/u01/oracle/oradata/mynewdb/redo01.log')SIZE 100M, GROUP 2('/u01/oracle/oradata/mynewdb/redo02.log')SIZE 100M, GROUP 3('/u01/oracle/oradata/mynewdb/redo03.log')SIZE 100M MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXINSTANCES 100 MAXINSTANCES 1 CHARACTER SET US7ASCII

      NATIONAL CHARACTER SET AL16UTF16 DATAFILE '/u01/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE EXTENT MANAGEMENT LOCAL SYSAUT DATAFILE '/u01/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE DEFAULT TABLESPACE tbs_1 DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf' SIZE 20M REUSE UNDO TABLESPACE undotbs DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf' SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED--MartriWang@gmail.com 10/05/2007--emctl start dbconsole emctl stop dbconsole--http://servername:port/em--path:$ORACLE_HOME/install/portlist.ini isqlplusctl start isqlplusctl stop--http://servername:port/isqlplus 數(shù)據(jù)庫連接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定義.數(shù)據(jù)庫參數(shù)global_name=true時(shí)要求數(shù)據(jù)庫鏈接名稱跟遠(yuǎn)端數(shù)據(jù)庫名稱一樣 數(shù)據(jù)庫全局名稱可以用以下命令查出 SELECT * FROM GLOBAL_NAME;查詢遠(yuǎn)端數(shù)據(jù)庫里的表

      SELECT …… FROM 表名@數(shù)據(jù)庫鏈接名;五.權(quán)限管理(DCL)語句 1.GRANT 賦于權(quán)限

      常用的系統(tǒng)權(quán)限集合有以下三個(gè): CONNECT(基本的連接), RESOURCE(程序開發(fā)), DBA(數(shù)據(jù)庫管理)常用的數(shù)據(jù)對象權(quán)限有以下五個(gè): ALL ON 數(shù)據(jù)對象名, SELECT ON 數(shù)據(jù)對象名, UPDATE ON 數(shù)據(jù)對象名, DELETE ON 數(shù)據(jù)對象名, INSERT ON 數(shù)據(jù)對象名, ALTER ON 數(shù)據(jù)對象名

      GRANT CONNECT, RESOURCE TO 用戶名;GRANT SELECT ON 表名 TO 用戶名;GRANT SELECT, INSERT, DELETE ON表名 TO 用戶名1, 用戶名2;2.REVOKE 回收權(quán)限

      REVOKE CONNECT, RESOURCE FROM 用戶名;REVOKE SELECT ON 表名 FROM 用戶名;REVOKE SELECT, INSERT, DELETE ON表名 FROM 用戶名1, 用戶名2;

      查詢數(shù)據(jù)庫中第63號錯(cuò)誤:

      select orgaddr,destaddr from sm_histable0116 where error_code='63';查詢數(shù)據(jù)庫中開戶用戶最大提交和最大下發(fā)數(shù): select MSISDN,TCOS,OCOS from ms_usertable;

      查詢數(shù)據(jù)庫中各種錯(cuò)誤代碼的總和:

      select error_code,count(*)from sm_histable0513 group by error_code order by error_code;查詢報(bào)表數(shù)據(jù)庫中話單統(tǒng)計(jì)種類查詢。

      select sum(Successcount)from tbl_MiddleMt0411 where ServiceType2=111 select sum(successcount),servicetype from tbl_middlemt0411 group by servicetype

      原文地址:http://004km.cn/viewthread.php?tid=60293 //創(chuàng)建一個(gè)控制文件命令到跟蹤文件

      alter database backup controlfile to trace;//增加一個(gè)新的日志文件組的語句 connect internal as sysdba alter database add logfile group 4(’/db01/oracle/CC1/log_1c.dbf’, ’/db02/oracle/CC1/log_2c.dbf’)size 5M;alter database add logfile member ’/db03/oracle/CC1/log_3c.dbf’ to group 4;//在Server Manager上MOUNT并打開一個(gè)數(shù)據(jù)庫: connect internal as sysdba startup mount ORA1 exclusive;alter database open;//生成數(shù)據(jù)字典 @catalog @catproc //在init.ora 中備份數(shù)據(jù)庫的位置

      log_archive_dest_1 = ’/db00/arch’ log_archive_dest_state_1 = enable log_archive_dest_2 = “service=stby.world mandatory reopen=60” log_archive_dest_state_2 = enable //對用戶的表空間的指定和管理相關(guān)的語句

      create user USERNAME identified by PASSWORD default tablespace TABLESPACE_NAME;alter user USERNAME default tablespace TABLESPACE_NAME;alter user SYSTEM quota 0 on SYSTEM;alter user SYSTEM quota 50M on TOOLS;

      create user USERNAME identified by PASSWORD default tablespace DATA temporary tablespace TEMP;alter user USERNAME temporary tablespace TEMP;//重新指定一個(gè)數(shù)據(jù)文件的大小 : alter database datafile ’/db05/oracle/CC1/data01.dbf’ resize 200M;//創(chuàng)建一個(gè)自動(dòng)擴(kuò)展的數(shù)據(jù)文件: create tablespace DATA datafile ’/db05/oracle/CC1/data01.dbf’ size 200M autoextend ON next 10M maxsize 250M;//在表空間上增加一個(gè)自動(dòng)擴(kuò)展的數(shù)據(jù)文件: alter tablespace DATA add datafile ’/db05/oracle/CC1/data02.dbf’ size 50M autoextend ON maxsize 300M;//修改參數(shù): alter database datafile ’/db05/oracle/CC1/data01.dbf’ autoextend ON maxsize 300M;//在數(shù)據(jù)文件移動(dòng)期間重新命名: alter database rename file ’/db01/oracle/CC1/data01.dbf’ to ’/db02/oracle/CC1/data01.dbf’;alter tablespace DATA rename datafile ’/db01/oracle/CC1/data01.dbf’ to ’/db02/oracle/CC1/data01.dbf’;alter database rename file ’/db05/oracle/CC1/redo01CC1.dbf’ to ’/db02/oracle/CC1/redo01CC1.dbf’;alter database datafile ’/db05/oracle/CC1/data01.dbf’ resize 80M;//創(chuàng)建和使用角色: create role APPLICATION_USER;grant CREATE SESSION to APPLICATION_USER;grant APPLICATION_USER to username;//回滾段的管理

      create rollback segment SEGMENT_NAME tablespace RBS;

      alter rollback segment SEGMENT_NAME offline;drop rollback segment SEGMENT_NAME;alter rollback segment SEGMENT_NAME online;//回滾段上指定事務(wù) commit;set transaction use rollback segment ROLL_BATCH;insert into TABLE_NAME select * from DATA_LOAD_TABLE;commit;//查詢回滾段的 大小和優(yōu)化參數(shù) select * from DBA_SEGMENTS where Segment_Type = ’ROLLBACK’;select N.Name, /* rollback segment name */ S.OptSize /* rollback segment OPTIMAL size */ from V$ROLLNAME N, V$ROLLSTAT S where N.USN=S.USN;//回收回滾段

      alter rollback segment R1 shrink to 15M;alter rollback segment R1 shrink;//例子

      set transaction use rollback segment SEGMENT_NAME alter tablespace RBS default storage(initial 125K next 125K minextents 18 maxextents 249)create rollback segment R4 tablespace RBS storage(optimal 2250K);alter rollback segment R4 online;select Sessions_Highwater from V$LICENSE;grant select on EMPLOYEE to PUBLIC;//用戶和角色

      create role ACCOUNT_CREATOR;grant CREATE SESSION, CREATE USER, ALTER USER to ACCOUNT_CREATOR;alter user THUMPER default role NONE;alter user THUMPER default role CONNECT;alter user THUMPER default role all except ACCOUNT_CREATOR;alter profile DEFAULT limit idle_time 60;create profile LIMITED_PROFILE limit FAILED_LOGIN_ATTEMPTS 5;create user JANE identified by EYRE profile LIMITED_PROFILE;grant CREATE SESSION to JANE;

      alter user JANE account unlock;alter user JANE account lock;alter profile LIMITED_PROFILE limit PASSWORD_LIFE_TIME 30;alter user jane password expire;//創(chuàng)建操作系統(tǒng)用戶

      REM Creating OPS$ accounts create user OPS$FARMER identified by SOME_PASSWORD default tablespace USERS temporary tablespace TEMP;REM Using identified externally create user OPS$FARMER identified externally default tablespace USERS temporary tablespace TEMP;//執(zhí)行ORAPWD ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users create role APPLICATION_USER;grant CREATE SESSION to APPLICATION_USER;create role DATA_ENTRY_CLERK;grant select, insert on THUMPER.EMPLOYEE to DATA_ENTRY_CLERK;grant select, insert on THUMPER.TIME_CARDS to DATA_ENTRY_CLERK;grant select, insert on THUMPER.DEPARTMENT to DATA_ENTRY_CLERK;grant APPLICATION_USER to DATA_ENTRY_CLERK;grant DATA_ENTRY_CLERK to MCGREGOR;grant DATA_ENTRY_CLERK to BPOTTER with admin option;//設(shè)置角色

      set role DATA_ENTRY_CLERK;set role NONE;//回收權(quán)利: revoke delete on EMPLOYEE from PETER;revoke all on EMPLOYEE from MCGREGOR;//回收角色: revoke ACCOUNT_CREATOR from HELPDESK;drop user USERNAME cascade;grant SELECT on EMPLOYEE to MCGREGOR with grant option;grant SELECT on THUMPER.EMPLOYEE to BPOTTER with grant option;revoke SELECT on EMPLOYEE from MCGREGOR;create user MCGREGOR identified by VALUES ’1A2DD3CCEE354DFA’;alter user OPS$FARMER identified by VALUES ’no way’;//備份與恢復(fù)

      使用 export 程序

      exp system/manager file=expdat.dmp compress=Y owner=(HR,THUMPER)exp system/manager file=hr.dmp owner=HR indexes=Y compress=Y imp system/manager file=hr.dmp full=Y buffer=64000 commit=Y--MartriWang@gmail.com 14/05/2007--1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:daochu.dmp中

      exp system/manager@TEST file=d:daochu.dmp full=y 2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出

      exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)3 將數(shù)據(jù)庫中的表table1、table2導(dǎo)出

      exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)4 將數(shù)據(jù)庫中的表table1中的字段filed1以“00”打頭的數(shù)據(jù)導(dǎo)出

      exp system/manager@TEST file=d:daochu.dmp tables=(table1)query=“ where filed1 like '00%'”--MartriWang@gmail.com 14/05/2007--1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:daochu.dmp中

      exp system/manager@TEST file=d:daochu.dmp full=y 2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出

      exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)3 將數(shù)據(jù)庫中的表table1、table2導(dǎo)出

      exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)4 將數(shù)據(jù)庫中的表table1中的字段filed1以“00”打頭的數(shù)據(jù)導(dǎo)出

      exp system/manager@TEST file=d:daochu.dmp tables=(table1)query=“ where filed1 like '00%'”

      //備份表

      exp system/manager FILE=expdat.dmp TABLES=(Thumper.SALES)//備份分區(qū)

      exp system/manager FILE=expdat.dmp TABLES=(Thumper.SALES:Part1)//輸入例子

      imp system/manager file=expdat.dmp imp system/manager file=expdat.dmp buffer=64000 commit=Y exp system/manager file=thumper.dat owner=thumper grants=N indexes=Y compress=Y rows=Y imp system/manager file=thumper.dat FROMUSER=thumper TOUSER=flower rows=Y indexes=Y imp system/manager file=expdat.dmp full=Y commit=Y buffer=64000 imp system/manager file=expdat.dmp ignore=N rows=N commit=Y buffer=64000 //使用操作系統(tǒng)備份命令 REM TAR examples tar-cvf /dev/rmt/0hc /db0[1-9]/oracle/CC1

      tar-rvf /dev/rmt/0hc /orasw/app/oracle/CC1/pfile/initcc1.ora tar-rvf /dev/rmt/0hc /db0[1-9]/oracle/CC1 /orasw/app/oracle/CC1/pfile/initcc1.ora //離線備份的shell腳本

      ORACLE_SID=cc1;export ORACLE_SID ORAENV_ASK=NO;export ORAENV_ASK.oraenv svrmgrl < connect internal as sysdba shutdown immediate;exit EOF1 insert backup commands like the “tar” commands here svrmgrl < connect internal as sysdba startup EOF2 //在Server Manager上設(shè)置為archivelog mode: connect internal as sysdba startup mount cc1;alter database archivelog;archive log start;alter database open;archive log list alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oracle/oradata/szdb/archive';alter system set log_archive_format='%t_%s.dbf' scope=spfile;alter system set log_archive_start=true scope=spfile;

      //在Server Manager上設(shè)置為archivelog mode: connect internal as sysdba startup mount cc1;alter database noarchivelog;alter database open;archive log list select Name, Value from V$PARAMETER where Name like ’log_archive%’;//聯(lián)機(jī)備份的腳本 # # Sample Hot Backup Script for a UNIX File System database # # Set up environment variables: ORACLE_SID=cc1;export ORACLE_SID

      ORAENV_ASK=NO;export ORAENV_ASK.oraenv svrmgrl < connect internal as sysdba REM REM 備份 SYSTEM tablespace REM alter tablespace SYSTEM begin backup;!tar-cvf /dev/rmt/0hc /db01/oracle/CC1/sys01.dbf alter tablespace SYSTEM end backup;REM REM The SYSTEM tablespace has now been written to a REM tar saveset on the tape device /dev/rmt/0hc.The REM rest of the tars must use the “-rvf” clause to append REM to that saveset.REM REM 備份 RBS tablespace REM alter tablespace RBS begin backup;!tar-rvf /dev/rmt/0hc /db02/oracle/CC1/rbs01.dbf alter tablespace RBS end backup;REM REM 備份 DATA tablespace REM For the purposes of this example, this tablespace REM will contain two files, data01.dbf and data02.dbf.REM The * wildcard will be used in the filename.REM alter tablespace DATA begin backup;!tar-rvf /dev/rmt/0hc /db03/oracle/CC1/data0*.dbf alter tablespace DATA end backup;REM REM 備份 INDEXES tablespace REM alter tablespace INDEXES begin backup;!tar-rvf /dev/rmt/0hc /db04/oracle/CC1/indexes01.dbf alter tablespace INDEXES end backup;REM REM 備份 TEMP tablespace REM alter tablespace TEMP begin backup;!tar-rvf /dev/rmt/0hc /db05/oracle/CC1/temp01.dbf alter tablespace TEMP end backup;REM REM Follow the same pattern to back up the rest

      REM of the tablespaces.REM REM REM Step 2.備份歸檔日志文件.archive log stop REM REM Exit Server Manager, using the indicator set earlier.exit EOFarch1 # # Record which files are in the destination directory.# Do this by setting an environment variable that is # equal to the directory listing for the destination # directory.# For this example, the log_archive_dest is # /db01/oracle/arch/CC1.# FILES=`ls /db01/oracle/arch/CC1/arch*.dbf`;export FILES # # Now go back into Server Manager and restart the # archiving process.Set an indicator(called EOFarch2 # in this example).# svrmgrl < connect internal archive log start;exit EOFarch2 # # Now back up the archived redo logs to the tape # device via the “tar” command, then delete them # from the destination device via the “rm” command.# You may choose to compress them instead.# tar-rvf /dev/rmt/0hc $FILES rm-f $FILES # # Step 3.備份控制文件到磁盤.# svrmgrl < connect internal alter database backup controlfile to ’db01/oracle/CC1/CC1controlfile.bck’;exit EOFarch3

      # # 備份控制文件到磁帶.# tar-rvf /dev/rmt/0hc /db01/oracle/CC1/CC1controlfile.bck # # End of hot backup script.//自動(dòng)生成開始備份的腳本

      set pagesize 0 feedback off select ’alter tablespace ’||Tablespace_Name||’ begin backup;’ from DBA_TABLESPACES where Status <> ’INVALID’ spool alter_begin.sql / spool off //自動(dòng)生成備份結(jié)束的腳本

      set pagesize 0 feedback off select ’alter tablespace ’||Tablespace_Name||’ end backup;’ from DBA_TABLESPACES where Status <> ’INVALID’ spool alter_end.sql / spool off //備份歸檔日志文件的腳本.REM See text for alternatives.# Step 1: Stop the archiving process.This will keep # additional archived redo log files from being written # to the destination directory during this process.# svrmgrl < connect internal as sysdba archive log stop;REM REM Exit Server Manager using the indicator set earlier.exit EOFarch1 # # Step 2: Record which files are in the destination # directory.# Do this by setting an environment variable that is # equal to the directory listing for the destination # directory.# For this example, the log_archive_dest is

      # /db01/oracle/arch/CC1.# FILES=`ls /db01/oracle/arch/CC1/arch*.dbf`;export FILES # # Step 3: Go back into Server Manager and restart the # archiving process.Set an indicator(called EOFarch2 # in this example).# svrmgrl < connect internal as sysdba archive log start;exit EOFarch2 # # Step 4.Back up the archived redo logs to the tape # device via the “tar” command, then delete them # from the destination device via the “rm” command.# tar-rvf /dev/rmt/0hc $FILES # # Step 5.Delete those files from the destination directory.# rm-f $FILES # # End of archived redo log file backup script.REM 磁盤到磁盤的備份 REM REM Back up the RBS tablespacecreate EMPLOYEEselect * from EMPLOYEE

      //監(jiān)視器的管理 lsnrctl start lsnrctl start my_lsnr lsnrctl status lsnrctl status hq 檢查監(jiān)視器的進(jìn)程

      ps-ef | grep tnslsnr //在 lsnrctl 內(nèi)停止監(jiān)視器 set password lsnr_password stop //在lsnrctl 內(nèi)列出所有的服務(wù) set password lsnr_password services //啟動(dòng)或停止一個(gè)NT的listener net start OracleTNSListener net stop OracleTNSListener // tnsnames.ora 文件的內(nèi)容 fld1 =

      (DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = server1.fld.com)(PORT = 1521)))(CONNECT_DATA =(SID = fld1)))//操作系統(tǒng)網(wǎng)絡(luò)的管理 telnet host_name ping host_name /etc/hosts 文件

      130.110.238.109 nmhost 130.110.238.101 txhost 130.110.238.102 azhost arizona //oratab 表項(xiàng)

      loc:/orasw/app/oracle/product/8.1.5.1:Y cc1:/orasw/app/oracle/product/8.1.5.1:N old:/orasw/app/oracle/product/8.1.5.0:Y //創(chuàng)建一個(gè)控制文件命令到跟蹤文件

      alter database backup controlfile to trace;//增加一個(gè)新的日志文件組的語句 connect internal as sysdba alter database add logfile group 4(’/db01/oracle/CC1/log_1c.dbf’, ’/db02/oracle/CC1/log_2c.dbf’)size 5M;alter database add logfile member ’/db03/oracle/CC1/log_3c.dbf’ to group 4;//在Server Manager上MOUNT并打開一個(gè)數(shù)據(jù)庫: connect internal as sysdba startup mount ORA1 exclusive;alter database open;//生成數(shù)據(jù)字典 @catalog @catproc //在init.ora 中備份數(shù)據(jù)庫的位置

      log_archive_dest_1 = ’/db00/arch’ log_archive_dest_state_1 = enable log_archive_dest_2 = “service=stby.world mandatory reopen=60” log_archive_dest_state_2 = enable

      //對用戶的表空間的指定和管理相關(guān)的語句

      create user USERNAME identified by PASSWORD default tablespace TABLESPACE_NAME;alter user USERNAME default tablespace TABLESPACE_NAME;alter user SYSTEM quota 0 on SYSTEM;alter user SYSTEM quota 50M on TOOLS;create user USERNAME identified by PASSWORD default tablespace DATA temporary tablespace TEMP;alter user USERNAME temporary tablespace TEMP;//重新指定一個(gè)數(shù)據(jù)文件的大小 : alter database datafile ’/db05/oracle/CC1/data01.dbf’ resize 200M;//創(chuàng)建一個(gè)自動(dòng)擴(kuò)展的數(shù)據(jù)文件: create tablespace DATA datafile ’/db05/oracle/CC1/data01.dbf’ size 200M autoextend ON next 10M maxsize 250M;//在表空間上增加一個(gè)自動(dòng)擴(kuò)展的數(shù)據(jù)文件: alter tablespace DATA add datafile ’/db05/oracle/CC1/data02.dbf’ size 50M autoextend ON maxsize 300M;//修改參數(shù): alter database datafile ’/db05/oracle/CC1/data01.dbf’ autoextend ON maxsize 300M;//在數(shù)據(jù)文件移動(dòng)期間重新命名: alter database rename file ’/db01/oracle/CC1/data01.dbf’ to ’/db02/oracle/CC1/data01.dbf’;alter tablespace DATA rename datafile ’/db01/oracle/CC1/data01.dbf’ to ’/db02/oracle/CC1/data01.dbf’;alter database rename file ’/db05/oracle/CC1/redo01CC1.dbf’ to ’/db02/oracle/CC1/redo01CC1.dbf’;alter database datafile ’/db05/oracle/CC1/data01.dbf’ resize 80M;//創(chuàng)建和使用角色:

      create role APPLICATION_USER;grant CREATE SESSION to APPLICATION_USER;grant APPLICATION_USER to username;//回滾段的管理

      create rollback segment SEGMENT_NAME tablespace RBS;alter rollback segment SEGMENT_NAME offline;drop rollback segment SEGMENT_NAME;alter rollback segment SEGMENT_NAME online;//回滾段上指定事務(wù) commit;set transaction use rollback segment ROLL_BATCH;insert into TABLE_NAME select * from DATA_LOAD_TABLE;commit;//查詢回滾段的 大小和優(yōu)化參數(shù) select * from DBA_SEGMENTS where Segment_Type = ’ROLLBACK’;select N.Name, /* rollback segment name */ S.OptSize /* rollback segment OPTIMAL size */ from V$ROLLNAME N, V$ROLLSTAT S where N.USN=S.USN;//回收回滾段

      alter rollback segment R1 shrink to 15M;alter rollback segment R1 shrink;//例子

      set transaction use rollback segment SEGMENT_NAME alter tablespace RBS default storage(initial 125K next 125K minextents 18 maxextents 249)create rollback segment R4 tablespace RBS storage(optimal 2250K);alter rollback segment R4 online;select Sessions_Highwater from V$LICENSE;grant select on EMPLOYEE to PUBLIC;//用戶和角色

      create role ACCOUNT_CREATOR;grant CREATE SESSION, CREATE USER, ALTER USER to ACCOUNT_CREATOR;alter user THUMPER default role NONE;alter user THUMPER default role CONNECT;alter user THUMPER default role all except ACCOUNT_CREATOR;alter profile DEFAULT

      limit idle_time 60;create profile LIMITED_PROFILE limit FAILED_LOGIN_ATTEMPTS 5;create user JANE identified by EYRE profile LIMITED_PROFILE;grant CREATE SESSION to JANE;alter user JANE account unlock;alter user JANE account lock;alter profile LIMITED_PROFILE limit PASSWORD_LIFE_TIME 30;alter user jane password expire;//創(chuàng)建操作系統(tǒng)用戶

      REM Creating OPS$ accounts create user OPS$FARMER identified by SOME_PASSWORD default tablespace USERS temporary tablespace TEMP;REM Using identified externally create user OPS$FARMER identified externally default tablespace USERS temporary tablespace TEMP;//執(zhí)行ORAPWD ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users create role APPLICATION_USER;grant CREATE SESSION to APPLICATION_USER;create role DATA_ENTRY_CLERK;grant select, insert on THUMPER.EMPLOYEE to DATA_ENTRY_CLERK;grant select, insert on THUMPER.TIME_CARDS to DATA_ENTRY_CLERK;grant select, insert on THUMPER.DEPARTMENT to DATA_ENTRY_CLERK;grant APPLICATION_USER to DATA_ENTRY_CLERK;grant DATA_ENTRY_CLERK to MCGREGOR;grant DATA_ENTRY_CLERK to BPOTTER

      第二篇:黑馬程序員c語言教程:過濾和排序數(shù)據(jù)

      過濾和排序數(shù)據(jù)

      在查詢中過濾行

      過濾

      字符和日期

      字符和日期要包含在單引號中。字符大小寫敏感,日期格式敏感。默認(rèn)的日期格式是 DD-MON-RR。

      比較運(yùn)算

      其它比較運(yùn)算

      第三篇:黑馬程序員c語言教程:過濾和排序數(shù)據(jù)

      ORDER BY子句

      降序排序

      按別名排序

      多個(gè)列排序

      ORDER BY子句

      排序的規(guī)則

      可以按照select語句中的列名排序 可以按照別名列名排序

      可以按照select語句中的列名的順序值排序 如果要按照多列進(jìn)行排序,則規(guī)則是先按照第一列排序,如果相同,則按照第二列排序;以此類推

      Desc:

      總結(jié)

      第四篇:黑馬程序員c語言教程:Oracle簡介

      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ù)庫表里有不滿足的記錄存在,建立約束條件將不會成功.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ù)庫的重要組成部分之一,它隨著數(shù)據(jù)庫 的產(chǎn)生而產(chǎn)生, 隨著數(shù)據(jù)庫的變化而變化, 體現(xiàn)為sys用戶下所有的一些表和視圖.2.數(shù)據(jù)字典里存了以下內(nèi)容: 用戶信息

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

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

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

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

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

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

      Session_roles 用戶的角色 User_role_privs 用戶的角色權(quán)限 User_sys_privs 用戶的系統(tǒng)權(quán)限 User_tab_privs 用戶的表級權(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ù)庫對象

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

      V$Content$nbsp;統(tǒng)計(jì)分析數(shù)據(jù)庫的視圖 賦于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ù)表里插入記錄的語句)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 */ 的方法會對target_tablename產(chǎn)生級別為6的獨(dú)占鎖,如果運(yùn)行此命令時(shí)還有對target_tablename的DML操作會排隊(duì)在它后面, 對OLTP系統(tǒng)在用的表操作是不合適的。17

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

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

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

      日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫的系統(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í)最大可操作的字符串長度小于等于4000個(gè)單字節(jié), 如果要插入更長的字符串, 請考慮字段用CLOB類型, 方法借用ORACLE里自帶的DBMS_LOB程序包.3、UPDATE(修改數(shù)據(jù)表里記錄的語句)SQL> UPDATE 表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 條件;如果修改的值N沒有賦值或定義時(shí), 將把原來的記錄內(nèi)容清為NULL, 最好在修改前進(jìn)行非空校驗(yàn);值N超過定義的長度會出錯(cuò), 最好在插入前進(jìn)行長度校驗(yàn).新功能,可以修改子查詢后的結(jié)果集

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

      4、DELETE(刪除數(shù)據(jù)表里記錄的語句)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語句的分類 數(shù)據(jù)定義語言(DDL):create、alter、drop(創(chuàng)建、修改結(jié)構(gòu)、刪除)(其他:rename)數(shù)據(jù)操縱語言(DML):insert、delete、select、update(增、刪、查、改)(其他:truncate)

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

      審計(jì)控制:audit、noaudit 系統(tǒng)控制:alter system 會話控制:alter session 其他語句: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語句發(fā)現(xiàn)錯(cuò)誤,如死鎖用戶退出

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

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

      第五篇:黑馬程序員c語言教程:DML語言強(qiáng)化

      sql語言的類型

      數(shù)據(jù)語言實(shí)現(xiàn)數(shù)據(jù)的crud

      DML語句(Data Manipulation Language)數(shù)據(jù)庫操作語言

      insert update delete select DDL語言 data definition Lanaguage

      create table

      create view index sequence synonym同義詞

      truncate table DCL語言 data control language數(shù)據(jù)語言

      commit rollback savetpointe

      OCA認(rèn)證 OCP(dba)一起考, 參加oracle的培訓(xùn) 2w Oracle數(shù)據(jù)庫管理員認(rèn)證專員(OCA):Oracle Certified Associate Oracle數(shù)據(jù)庫管理員認(rèn)證專家(OCP): Oracle Certified Professional Oracle數(shù)據(jù)庫管理員認(rèn)證大師(OCM): Oracle Certified Master

      語法: INSERT INTO table [(column [, column...])] VALUES(value [, value...]);

      --1 向表中插入所有列

      insert into emp values(1, 'tom_111', 'enginerr', 7839, sysdate, 5000, 100, 10)--2 向表中插入部分列

      insert into emp(empno, ename, job, hiredate)values(2, 'tom_2222', 'enginerr', sysdate)

      --3 隱式插入空值: 沒有寫出的列,默認(rèn)為null值--4 顯示插入空值:--5 sql插入語言的地址符 & 取地址符后面相當(dāng)于一個(gè)變量

      mysql語言: preparedStatement語言 SQL> insert into emp(empno, ename, job, hiredate)values(&empno, &ename, &job, &hiredate);輸入 empno 的值: 3

      輸入 ename 的值: 'tom_ccc' 輸入 job 的值: 'job' 輸入 hiredate 的值: '22-2月-81' 原值 1: insert into emp(empno, ename, job, hiredate)values(&empno, &ename, &job, &hiredate)新值 1: insert into emp(empno, ename, job, hiredate)values(3, 'tom_ccc', 'job', '22-2月-81')

      &地址符, 可以在任何sql語言中使用.在select 語言中也可以使用地址符

      SQL> select ename, job, &tt from emp;輸入 tt 的值: deptno 原值 1: select ename, job, &tt from emp 新值 1: select ename, job, deptno from emp

      --7 批量插入數(shù)據(jù)--創(chuàng)建一張表

      create table emp10 as

      select * from emp where 1=2;--一次性的將emp中所有10號部門的員工插入到emp10中

      --在insert語言中使用子查詢 子查詢 不光用在查詢套查詢, 也可用在DML語句套select語句

      insert into emp10--列完全一樣,可以不寫

      select * from emp where deptno=10;delete from emp10;

      有關(guān)update更新語句

      UPDATE table SET column = value [, column = value,...] [WHERE condition];--列子

      SQL> update emp10 set sal=2300 where empno=7934;

      有關(guān)刪除數(shù)據(jù)

      DELETE [FROM] table [WHERE condition];

      delete和truncate表區(qū)別

      delete逐條刪除 truncate先摧毀表再重建delete語言是DML語言 truncate是DDL

      DML語言可以閃回 做錯(cuò)的并且提交了.可通過閃回,撤銷操作

      DDL語言不可以閃回 flashback

      delete是逐條刪除,會產(chǎn)生碎片, truncate不會產(chǎn)生碎片

      行移動(dòng)功能: 要開啟閃回功能,必須要開啟行移動(dòng)功能delete不會釋放空間 truncate會delete可以回滾 truncate不可以

      oracle delete快 mysql truncate快.實(shí)驗(yàn): 從文件中導(dǎo)入數(shù)據(jù), 通過命名delete 和 truncate刪除表數(shù)據(jù) 實(shí)驗(yàn)

      從文件中導(dǎo)入數(shù)據(jù)

      SQL> set timing off;SQL> set feedback off;SQL> drop table testdelete purge;SQL> @c:Sql.sql;SQL> SQL> set timing on;//最后刪除數(shù)據(jù)表的時(shí)候,把時(shí)間打開,記錄時(shí)間

      SQL> delete from testdelete;已用時(shí)間: 00: 00: 00.03

      從文件中導(dǎo)入數(shù)據(jù)

      SQL> set timing off;@c:Sql.sql;

      set timing off;

      select count(*)from testdelete;set timing on;//最后刪除數(shù)據(jù)表的時(shí)候,把時(shí)間打開,記錄時(shí)間

      truncate table testdelete;已用時(shí)間: 00: 00: 00.39

      事務(wù)基本概念

      概念

      一個(gè)或者多個(gè)DML語言組成特點(diǎn)

      要么都成功,要么都失敗

      特性

      原子性 一致性 隔離性 持久性

      事物的隔離性 多個(gè)客戶端同時(shí)操作數(shù)據(jù)庫的時(shí), 要隔離他們的操作

      否則:臟讀 不可重復(fù)讀 幻讀

      設(shè)置不同的擱置級別來解決oracle中的事務(wù)

      事務(wù)起始標(biāo)志 DML語言(oracle默認(rèn)事務(wù)似是打開的)2 事務(wù)的結(jié)束標(biāo)志

      提交: 顯示提交commit

      隱式提交

      1)執(zhí)行DDL語言

      eg create table語言 還有I個(gè)隱式的功能

      提交之前的沒有提交的DML語言(insert update)

      2)正常退出

      回滾: 顯示 rollback

      隱式 掉電/宕機(jī)/非正常退出==系統(tǒng)出錯(cuò)了 oracle事務(wù)控制--保存點(diǎn)

      create table testsavepoint(tid number, tname varchar2(20));set feedback on

      insert into testsavepoint values(1, 'tom1');insert into testsavepoint values(2, 'tom2');savepoint a;//創(chuàng)建一個(gè)保存點(diǎn)

      insert into testsavepoint values(3, 'tom3a);rollback to savepoint a;

      注意: 回退到savepoint a 前面插入的兩條sql語句還沒有提交;仍然還在一個(gè)事務(wù)里面;讓事務(wù)結(jié)束的方法 顯示 隱式 SQL> rollback / commit oracle數(shù)據(jù)的隔離級別問題

      read only ,數(shù)據(jù)庫幾乎不做串行化操作,增加了read only SQL99

      下載黑馬程序員c語言教程:ORACLE 常用的SQL語法和數(shù)據(jù)對象word格式文檔
      下載黑馬程序員c語言教程:ORACLE 常用的SQL語法和數(shù)據(jù)對象.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(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ù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        黑馬程序員c語言教程:Oracle概念(推薦)

        七、在執(zhí)行SQL語句時(shí)綁定變量 1. 接收和定義變量的SQL*PLUS命令 ACCEPT DEFINE UNDEFINE & 2. 綁定變量SQL語句的例子 SQL> select id, last_name, salary from s_emp wh......

        黑馬程序員c語言教程:多表查詢

        1 笛卡爾積 部門表 笛卡爾積產(chǎn)生結(jié)果: 行數(shù) 兩個(gè)表相乘列數(shù): 行數(shù)相加 原因 條件等值連接select **** from tab1, tab2 where tab1.a = tab2.a 1 select count(e.ename)......

        黑馬程序員c語言教程:Oracle指令大全

        ------------------------- --order by的用法 --員工信息按照姓名正序排列 select * from emp order by ename asc; --員工信息按照倒敘排列 select * from emp order by en......

        黑馬程序員c語言教程:Oracle指令大全

        --sql structured query language --DML--Data Manipulation Language--數(shù)據(jù)操作語言 query information (SELECT), add new rows (INSERT), modify existing rows (UPDAT......

        黑馬程序員c語言教程:Oracle概念

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

        黑馬程序員c語言教程:Oracle指令大全

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

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

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

        黑馬程序員c語言教程:用戶如何有效地利用數(shù)據(jù)字典

        用戶如何有效地利用數(shù)據(jù)字典 ORACLE的數(shù)據(jù)字典是數(shù)據(jù)庫的重要組成部分之一,它隨著數(shù)據(jù)庫的產(chǎn)生而產(chǎn)生, 隨著數(shù)據(jù)庫的變化而變化, 體現(xiàn)為sys用戶下的一些表和視圖。數(shù)據(jù)字典名......