時(shí)間:2010-02-24 10:41來(lái)源:http://edu.codepub.com/2010/01 作者:網(wǎng)絡(luò )
一、常用語(yǔ)法
view plaincopy to clipboardprint?
--1. 刪除表時(shí)級聯(lián)刪除約束
drop table 表名 cascade constraint
--2. 當父表中的內容被刪除后,子表中的內容也被刪除
on delete casecade
--3. 顯示表的結構
desc 表名
--4. 創(chuàng )建新的用戶(hù)
create user [username] identified by [password]
--5. 給用戶(hù)分配權限
grant 權限1、權限2...to 用戶(hù)
ex:grant create session to [username] --此時(shí)只能連接到數據庫
grant connect,resource to [username] --此時(shí)權限能滿(mǎn)足要求
grant select,delete on scott.emp to [username]
--6. 回收權限
revoke select ,delete on scott.emo from [username]
--7. 修改用戶(hù)密碼
alter user [username] identified by [password]
--8. 下次登錄時(shí)提示修改密碼
alter user [username] password expired
--9. 鎖定用戶(hù)
alter user [username] account lock
--10. 解鎖被鎖定的用戶(hù)
alter user [username] account unlock
--1. 刪除表時(shí)級聯(lián)刪除約束
drop table 表名 cascade constraint
--2. 當父表中的內容被刪除后,子表中的內容也被刪除
on delete casecade
--3. 顯示表的結構
desc 表名
--4. 創(chuàng )建新的用戶(hù)
create user [username] identified by [password]
--5. 給用戶(hù)分配權限
grant 權限1、權限2...to 用戶(hù)
ex:grant create session to [username] --此時(shí)只能連接到數據庫
grant connect,resource to [username] --此時(shí)權限能滿(mǎn)足要求
grant select,delete on scott.emp to [username]
--6. 回收權限
revoke select ,delete on scott.emo from [username]
--7. 修改用戶(hù)密碼
alter user [username] identified by [password]
--8. 下次登錄時(shí)提示修改密碼
alter user [username] password expired
--9. 鎖定用戶(hù)
alter user [username] account lock
--10. 解鎖被鎖定的用戶(hù)
alter user [username] account unlock 二、常用命令
view plaincopy to clipboardprint?
--1. 設置顯示寬度
set linesize 100;
--2. 設置每頁(yè)顯示條數
set pagesize 30;
3. 用記事本打開(kāi)
em a.sql
--4. 執行文件a中的代碼,可指定文件的路徑 @d:a.txt
@ a
--5. 根據用戶(hù)名和密碼連接數據庫 如果連接超級管理員(sys) 則應加上as sysdba;
conn 用戶(hù)名/密碼
--6. 顯示當前連接的用戶(hù)
show user;
--7. 得到當前用戶(hù)下的所有表
select * from tab;
--8. 查看表結構
desc temp;
--9. 繼續執行上一個(gè)查詢(xún)語(yǔ)句
/
--10. 清屏
clear scr;
--1. 設置顯示寬度
set linesize 100;
--2. 設置每頁(yè)顯示條數
set pagesize 30;
3. 用記事本打開(kāi)
em a.sql
--4. 執行文件a中的代碼,可指定文件的路徑 @d:a.txt
@ a
--5. 根據用戶(hù)名和密碼連接數據庫 如果連接超級管理員(sys) 則應加上as sysdba;
conn 用戶(hù)名/密碼
--6. 顯示當前連接的用戶(hù)
show user;
--7. 得到當前用戶(hù)下的所有表
select * from tab;
--8. 查看表結構
desc temp;
--9. 繼續執行上一個(gè)查詢(xún)語(yǔ)句
/
--10. 清屏
clear scr; 三、常用函數
·字符函數
view plaincopy to clipboardprint?
--1. 將小寫(xiě)字母轉換成大寫(xiě),dual 為一虛表
select upper('coolszy') from dual;
--2. 將大寫(xiě)字母轉換成小寫(xiě)
select lower('KUKA') from dual;
--3. 將每個(gè)單詞的首字母大寫(xiě),其他位置的字母小寫(xiě)
select initcap('kuKA aBc') from dual;
--4. 連接字符串,但沒(méi)有||好用
select concat('Hello',' world') from dual;
--5. 截取字符串,第二個(gè)參數是從第幾個(gè)字母開(kāi)始截取(從1開(kāi)始,如果是一個(gè)負數,則從結尾數起),第三個(gè)參數是需要截取的字母的個(gè)數
select substr('hello',2,3) from dual;
--6. 求字符串長(cháng)度
select length('hello') from dual;
--7. 替換字符串
select replace('HELLO','L','x') from dual;
--1. 將小寫(xiě)字母轉換成大寫(xiě),dual 為一虛表
select upper('coolszy') from dual;
--2. 將大寫(xiě)字母轉換成小寫(xiě)
select lower('KUKA') from dual;
--3. 將每個(gè)單詞的首字母大寫(xiě),其他位置的字母小寫(xiě)
select initcap('kuKA aBc') from dual;
--4. 連接字符串,但沒(méi)有||好用
select concat('Hello',' world') from dual;
--5. 截取字符串,第二個(gè)參數是從第幾個(gè)字母開(kāi)始截取(從1開(kāi)始,如果是一個(gè)負數,則從結尾數起),第三個(gè)參數是需要截取的字母的個(gè)數
select substr('hello',2,3) from dual;
--6. 求字符串長(cháng)度
select length('hello') from dual;
--7. 替換字符串
select replace('HELLO','L','x') from dual; ·數值函數
view plaincopy to clipboardprint?
--1. 四舍五入
select round(789.536) from dual;
select round(789.536,2) from dual;
select round(789.536,-1) from dual;
--2. 舍去小數,但不進(jìn)位
select trunc(789.536) from dual;
select trunc(789.536,2) from dual;
select trunc(789.536,-2) from dual;
--3. 求余
select mod(10,3) from dual;
--1. 四舍五入
select round(789.536) from dual;
select round(789.536,2) from dual;
select round(789.536,-1) from dual;
--2. 舍去小數,但不進(jìn)位
select trunc(789.536) from dual;
select trunc(789.536,2) from dual;
select trunc(789.536,-2) from dual;
--3. 求余
select mod(10,3) from dual; ·日期函數
view plaincopy to clipboardprint?
--1. 返回當前日期
select sysdate from dual;
--2. 返回兩個(gè)日期之間的月數
select months_between(sysdate,'16-6月 -09') from dual;
--3. 返回加上指定月數后的日期
select add_months(sysdate,4) from dual;
--4. 返回當前日期之后的下一個(gè)星期一的日期
select next_day(sysdate,'星期一') from dual;
--5. 求本月的最后一天
select last_day(sysdate) from dual;
--1. 返回當前日期
select sysdate from dual;
--2. 返回兩個(gè)日期之間的月數
select months_between(sysdate,'16-6月 -09') from dual;
--3. 返回加上指定月數后的日期
select add_months(sysdate,4) from dual;
--4. 返回當前日期之后的下一個(gè)星期一的日期
select next_day(sysdate,'星期一') from dual;
--5. 求本月的最后一天
select last_day(sysdate) from dual; ·轉換函數
view plaincopy to clipboardprint?
--1. to_char
select to_char(sysdate,'yyyy') year,to_char(sysdate,'mm'),to_char(sysdate,'dd') from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;
select to_char(sysdate,'fmyyyy-mm-dd') from dual; --取消月和日前面的0
select to_char('20394','99,999') from dual; --分割錢(qián) 9表示格式
select to_char('2034','L99,999') from dual; --加上錢(qián)幣符號
--2. to_number
select to_number('123')*to_number('2') from dual;
--3. to_date
select to_date('1988-07-04','yyyy-mm-dd') from dual;
--1. to_char
select to_char(sysdate,'yyyy') year,to_char(sysdate,'mm'),to_char(sysdate,'dd') from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;
select to_char(sysdate,'fmyyyy-mm-dd') from dual; --取消月和日前面的0
select to_char('20394','99,999') from dual; --分割錢(qián) 9表示格式
select to_char('2034','L99,999') from dual; --加上錢(qián)幣符號
--2. to_number
select to_number('123')*to_number('2') from dual;
--3. to_date
select to_date('1988-07-04','yyyy-mm-dd') from dual; ·通用函數
view plaincopy to clipboardprint?
--1. 如果為null,則用0代替
select nvl(null,0) from dual;
--2. 類(lèi)似于 switch...case...
select decode(2,1,'內容是1',2,'內容是2',3,'內容是3') from dual;