欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    次試驗依然在windows 2016下進行。

    一、以默認普通用戶scott/tiger連接數據庫

    安裝Oracle時,若沒有為下列用戶重設密碼,則其默認密碼如下:

    以普通用戶scott連接,默認密碼為tiger

    格式:conn 用戶名/密碼(conn scott/tiger)

    口令更改為cat

    二、檢查Oracle的服務

    點擊開始---運行,輸入services.msc ,打開windows的服務選項,

    回車

    找到Oracle數據庫服務是否啟動的兩個服務,一個是Oracle服務,一個是Oracle監聽服務。

    其中ORCL為數據庫的名稱

    下面是oracle的監聽程序,專門用來負責數據庫用戶遠程訪問數據庫。

    三、最簡單的增刪改查

    3.1查詢(select)

    3.1.1查詢用戶SCOTT狀態

    SQL> select username,account_status from dba_users where username='SCOTT';

    EXPIRED表示數據庫用戶處于到期狀態,不能正常連接上數據庫。

    &是并且的意思

    LOCKED表示用戶處于鎖住狀態,不能使用該數據庫用戶。


    解鎖數據庫用戶語法

    alter user 數據庫用戶名 account unlock;

    解鎖SCOTT用戶

    SQL> alter user scott account unlock;

    驗證SCOTT用戶的狀態

    SQL> select username,account_status from dba_users where username='SCOTT';


    上圖顯示SCOTT用戶已經解鎖,但是目前處于到期狀態。在EXPIRED狀態下,Oracle數據庫默認SCOTT用戶需要使用原來的密碼重新登錄,并設置新密碼,即可解除到期狀態。

    SQL> conn scott/tiger

    conn是connect的縮寫,scott為oracle數據庫的用戶,tiger為scott用戶的初始密碼。

    圖中顯示:"the password has expired",說明scott用戶密碼到期,輸入新口令cat

    驗證查詢soctt用戶是open狀態

    SQL> select username,account_status from dba_users where username='SCOTT';



    用scott/cat的用戶名和密碼連接數據庫

    C:\Users\Administrator>sqlplus scott/cat

    驗證連接用戶

    SQL> show user


    3.1.2查詢SCOTT用戶擁有那些表

    SQL> select table_name from user_tables;

    上圖中可以看到有4個表,

    DEPT(Department 部門)

    EMP(Employee 雇員)

    BONUS(獎金)

    SALGRADE(Salary Grade薪水等級)

    上圖中SQL語句解釋

    select 是SQL語句查詢表數據必須的關鍵字,并且在查詢SQL語句的開頭,后面跟的是表中的列,如果查詢多個列值,可以使用逗號隔開。

    table_name 是user_tables表的一個用來存儲表名的字段;而(*)則表示表中的所有字段。

    from 是SQL語句查詢表中必需的關鍵字,表示這些列數據"來自"那個表中,后面必須是表名。

    user_tables,這是指表名,即把該表的列數據全部查詢出來,它是Oracle數據庫內部的表(也是)數據字典,專門用來查詢用戶自己擁有那些表。

    分號(;)這是英文字符的符號,是表示這條查詢SQL語句結束的符號。

    3.1.3查看有哪些部門

    SQL> select * from dept;

    上圖知,虛線上面有三個英文單詞,這表示dept表有三列,

    DEPTNO(部門號)

    DNAME(部門名稱)

    LOC(工作地點)

    可見該公司有4個部門,部門分別為10,20,30,40

    可以看到部門為10的部門名稱為ACCOUNTING(財務部),工作地點在NEW YORK(紐約)。

    *表示所有字段


    3.1.4查詢dept表有哪些列

    SQL> desc dept

    由上圖可知該表有三列

    DEPTNO(部門號)

    DNAME(部門名)

    LOG(部門工作地點)。

    3.2增加(insert into

    3.2.1增加一個Development(開發)部門

    SQL> insert into dept(deptno,dname,loc) values (50,'Development','Beijing');

    Insert into 插入SQL語句,而且必須是在開頭,在其后跟隨的是表名。

    把剛才插入的數據提交到數據庫中,如果沒有commit,則插入的SQL語句在計算機的內存中。

    SQL> commit;


    3.2.2查看dept部門表中是否存在剛插入的數據,已經在dept部門表中增加了Development開發部門。

    SQL> select * from dept;


    3.3修改(update)

    把開發部門的辦公地點更改為上海。

    SQL> update dept set loc='Shanghai' where deptno=50;


    查詢結果

    SQL> select * from dept;


    update 是SQL更新語句的關鍵字,并且在語句的開頭,后面跟隨的是需要更新的dept表。

    set 是SQL更新語句的關鍵字,該關鍵字跟隨在表名的后面,是"設置"的意思。在后面跟隨所要更新的列值。比如這里loc為dept表的字段,把該值更改為"Shanghai"。

    where 是SQL語句中的條件限制關鍵字,即操作的數據需要滿足的條件,這個關鍵字可以在增刪改查SQL語句中使用,一般用在SQL語句的后面來表示條件。條件可由列名、字符串、算數表達式等組成。

    deptno=50 是SQL條件語句的一部分,表示在dept表中把部門號等于50的數據查詢出來。

    3.4刪除(delete)

    刪除Development開發部門

    SQL> delete from dept where deptno=50;


    delete from 是SQL語句中刪除數據必不可少的關鍵字,并且位于SQL語句的開始位置。后面跟隨的是要刪除的dept表,表名后面則是where條件限制語句。

    四、綜合運用

    4.1 查詢出公司每個員工的號碼、名字、薪水。

    SQL> select empno ,ename,sal, from emp;



    select關鍵字后可以選擇查詢任意列,列與列之間用逗號隔開。后面跟隨的empno、ename、sal均為emp表的列。

    4.2調整查詢結果表的列次序,可以把最關心的重點列放到最前面。

    SQL> select ename,sal,empno from emp;


    4.3在oracle的sqlplus中,英文字符默認是左對齊,而數字則默認是右對齊。

    查看員工的姓名和入職時間,其中hiredate的時間格式與我國習慣不符,畢竟Oracle數據不是中國人開發的。

    SQL> select ename,hiredate from emp;


    把時間設置為我們習慣的時間格式,僅僅是設置為當前會話場景。


    SQL> alter session set nls_date_format='YYYY-MM-DD';


    alter 更改數據庫參數的SQL語句關鍵字。

    session 只更改當前會話的時間格式

    nls_date_format 數據庫的日期參數,日期雖然一樣,但可以有不一樣的時間日期格式


    4.4查詢當前數據庫時間

    SQL> select sysdate from dual;

    dual是oracle數據庫的一個虛表,即不是真實存在的表,在查詢用到計算、常量、表達式等時可以使用的dual虛表。

    4.5查詢在公司服務時間的員工信息,使用當前時間減去員工的入職時間,就可以得到在公司服務時間,這里需要引入round函數。


    SQL> select ename,round((sysdate-hiredate)/365,0) from emp;

    round(x,y) 是Oracle數據庫的一個四舍五入的函數

    x 表示這個數字需要進行四舍五入

    y 則表示在哪位數進行四舍五入,如果y=0,表示在個位進行四舍五入,y=2表示在小數點后兩位進行四舍五入。


    4.6根據入職時間求出工作年限并且按照年限(第二列)升序排列

    SQL> select ename,round((sysdate - hiredate)/365,0) from emp order by 2;


    Order by 2中,order by 是排序的關鍵字,2表示按照第二列排序,默認排序是升序。


    4.7按照工作年限倒序查詢出每個員工的年數

    SQL> select ename,round((sysdate-hiredate)/365,0) from emp order by round((sysdate-hiredate)/365,0) desc;


    desc 表示排序使用降序來輸出數據,即從大到小進行排序。


    4.8 Oracle數據庫查詢入職時間。

    SQL> select ename,round((sysdate-hiredate)/365,0) from emp order by hiredate;


    把查詢出來的表列名變成中文,方便顯示。

    SQL> select ename as "姓名" ,round((sysdate-hiredate)/365,0) as "工作(年)" from emp order by "工作(年)" desc;


    as 是列別名的關鍵字,可以用英文雙引號""里面的字符來表示該列的別名。如"姓名"是ename列的別名,查詢輸出數據時以"姓名"代替了ename列名。

    工作年數的列名則變成了"工作(年)",在Oracle數據庫中,同時允許用列的別名進行排序。


    4.9查詢工資

    SQL> select ename,sal from emp order by sal;

    4.10 每個人增加1500元進行顯示

    SQL> select ename,sal+1500 from emp order by sal;


    4.11對查詢出來的員工薪水進行文字說明

    SQL> select ename||'員工本月工資為:¥'|| (sal+1500) as "公司員工本月工資表" from emp order by sal;


    || 兩個豎杠是oracle的連接符,可以把查詢出來的數據和其他字符串連接起來,可以對多個字符串、多個表的列值相連接。

    ' ' 兩個單引號''里面的字符串,可以把里面的字符串輸出。即表的列數據和字符串連接在一起輸出結果。

    4.12查詢到部門表中部門有重復的

    SQL> select ename,deptno from emp;

    為了清晰顯示有哪些部門,可以過濾掉重復的部門值

    SQL> select distinct deptno from emp;


    distinct是去掉重復數據的SQL關鍵字,這個去掉重復數據的關鍵字經常用到。


    4.13查詢工資少于2000元的員工,并按照薪水排序。

    SQL> select ename,sal from emp where sal<=2000 order by sal;


    Order by需要在where的后面,常用運算符如下

    ">"大于

    ">="大于等于

    "<"小于

    "<="小于等于

    "<>"和"!="都是不等于

    "="等于


    4.14查看薪水在1500到2500元之間的員工信息并且按照薪水排序

    SQL> select ename,sal from emp where sal between 1500 and 2500 order by sal;


    between…and…用于條件where之中,表示數值介于兩個數值之間,這里表示是工資在1500-2500之間。

    4.15查詢拿保底工資的銷售人員

    SQL> select empno,ename,job,sal from emp where job='SALESMAN' and sal=1250;


    where條件中的and表示"而且"的意思,即條件既要是銷售人員,而且工資也是1250元的員工。


    4.16查看沒有獎金及工資少于1500元的員工

    SQL> select empno,ename,job,sal,comm from emp where comm is null or sal<=1500;


    or 是或者的意思,這里表示沒有獎金或者工資少于等于1500元的員工;

    null 在oracle數據庫中是一個很特殊的值,它即不表示0,也不表示空,是一個不能確定的未知數。


    4.17員工的工資加上提成,那個員工的工資是最少的


    SQL> select empno,ename,job,sal,comm,sal+nvl(comm,0) from emp where comm is null or sal<=1500 order by sal+nvl(comm,0);


    Nvl(X,Y)是數據庫的一個內部函數,表示如果X有值,則返回X的值,如果X的值為null,則默認為Y。

    這里則是用comm(提成)替代X,"0"代表Y,如果有提成,則工資加上提成;如果沒有提成,則表示提成是"0",只有工資。把員工的薪水加上提成作為排序,可以明顯看出來員工的收入多少。


    4.20查看姓名中"M"開頭的員工


    SQL> select ename,job,sal from emp where ename like 'M%';



    Like 是條件where中模糊查詢的關鍵字,后面的字符串需用雙單引號括起來,%在SQL語句中表示字符后面的所有字符,其中M%表示以M開頭的所有字符。


    4.21查詢哪些員工屬于銷售人員、分析師、管理人員。

    SQL> select ename,job from emp where job in ('SALESMAN','ANALYST','MANAGER');


    in 表示在某個列中存在多個值均符合,或者使用or代替也可。

    下面用or來代替上面的SQL語句,同時看看有哪些不一樣。在oracle數據庫的命令窗口輸入下面的SQL語句:


    SQL> select ename,job from emp where job='SALESMAN' or job='ANALYST' or job='MANAGER';


    4.22統計公司每個崗位都有多少個員工


    SQL> select job,count(*) from emp group by job;


    group by 是oracle數據庫中的分組函數,可以這樣理解,按照工作職位進行分組,然后統計每個職位的人數。

    Count(*)是統計數量的函數,這里統計公司每個崗位都有多少人。


    4.23統計公司每個崗位都有多少個員工,并按數量進行排序。

    SQL> select job,count(*) from emp group by job order by count(*);


    4.24統計公司每個部門有哪些員工,并按照部門號進行排序。

    SQL> select deptno,count(*) from emp group by deptno order by deptno;



    從圖中可以看到,10號部門有3人,20號部門有5人,而30號部門有6人。


    4.25求公司總共支付員工的薪水


    SQL> select sum(sal)+sum(nvl(comm,0)) from emp;


    sum 是Oracle數據庫內部的一個函數,即所有數值之和。


    4.26求公司員工的平均工資

    SQL> select round(avg(sal),2) from emp;


    avg是oracle數據庫的求平均值函數。

    4.27統計公司所有員工中最高、最低、工資及相差多少

    SQL> select max(sal),min(sal),max(sal)-min(sal) from emp;


    max 是Oracle數據庫內部的函數,專門統計最大的數值

    min 是Oracle數據庫的內部函數,專門統計最小的數值


    4.28列出平均工資大于2500的崗位

    SQL> select job,avg(sal) from emp having avg(sal)>2500 group by job;


    having 在使用group by分組時,如有條件限制需要使用having,而不能使用where.即在group by中所對應的條件限制為having,上面的例子中數據庫首先使用group by進行崗位分組,再使用avg(sal)求出每個崗位的平均工資,最后平均工資大于2500元由having進行限制。

    .關閉oracle所有的服務。可以在windows的服務管理器中關閉;

    2.打開注冊表:regedit 打開路徑: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 刪除該路徑下的所有以oracle開始的服務名稱,

    這個鍵是標識Oracle在windows下注冊的各種服務!

    3.打開注冊表,找到路徑: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 刪除該oracle目錄,該目錄下注冊著Oracle數據庫的軟件安裝信息。

    4.刪除注冊的oracle事件日志,打開注冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application 刪除注冊表的以

    oracle開頭的所有項目。

    5.刪除環境變量path中關于oracle的內容。 鼠標右鍵右單擊“我的電腦-->屬性-->高級-->環境變量-->PATH 變量。 刪除Oracle在該

    值中的內容。注意:path中記錄著一堆操作系統的目錄,在windows中各個目錄之間使用分號(;)隔開的,刪除時注意。 建議:刪除PATH環境變量中

    關于Oracle的值時,將該值全部拷貝到文本編輯器中,找到對應的Oracle的值,刪除后,再拷貝修改的串,粘貼到PATH環境變量中,這樣相對而言比

    較安全。

    6.重新啟動操作系統。 以上1~5個步驟操作完畢后,重新啟動操作系統。

    7.重啟操作系統后各種Oracle相關的進程都不會加載了。這時刪除Oracle_Home下的所有數據。(Oracle_Home指Oracle程序的安裝目錄)

    8.刪除C:\Program Files下oracle目錄。 (該目錄視Oracle安裝所在路徑而定)

    9.刪除開始菜單下oracle項,如: C:\Documents and Settings\All Users\「開始」菜單\程序\Oracle - Ora10g 不同的安裝這個目錄稍有不同。

    如果不刪除開始菜單下的Oracle相關菜單目錄,沒關系,這個不影響再次安裝Oracle.當再次安裝Oracle時,該菜單會被替換。 至此,Windows平臺

    下Oracle就徹底卸載了。

    親測完成!!!

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有