【正文】
+number date number date date select d1,d1+7,d17,sysdated1 from emp。 04jun84 11jun84 28may84 SQL語句中的函數(shù)-日期函數(shù) ?例: select months_between(sysdate,hiredate) from emp where months_between(sysdate,hiredate)24 。 ?例: select add_month(hiredate,3) from … 13jun98 13sep98 05dec97 05mar98 SQL語句中的函數(shù)-日期函數(shù) 例: select next_day(sysdate,`Monday`) from dual 3198 7sep98 例 : select last_day(sysdate) from dual。 包含參數(shù)的月份中的最后一天 SQL語句中的函數(shù)-轉(zhuǎn)換函數(shù) ?to_char(sysdate,`描述串 `) 將隱含格式 ddmonyy轉(zhuǎn)換為指定格式 ?格式串: yy/mm/dd 98/06/11 hh:mi:ss 09:34:28 day Monday ... Dy mon, tue wed ... yyyy 1998 ?to_char(sal,`$9,999`) $1,375 ?select to_char(3456,`$999,9`) from dual SQL*Plus ? Sql*plus環(huán)境 ? 報表功能 中文配置 regedit SIMPLIFIED 主機字符串配置 主機字符串配置 主機字符串配置 主機字符串配置 主機字符串配置 主機字符串配置 主機字符串配置 主機字符串配置 登錄 SQL*Plus SQL*Plus窗口(交互界面) 初始化文件 SQL*Plus命令 SQL select * from cat 。 SQL desc student SQLselect * from student 。 SQL*Plus命令 SQL edit a SQL @a SQL*Plus菜單 使用 SQL*Plus菜單 使用 替換變量 insert into emp values(`amp。eno`,`amp。ename` , amp。age , ..)。 enter value for eno: enter value for ename: 98/12/31 第一頁 年度財務(wù)報表 內(nèi)部資料,請勿外傳 列標題設(shè)計: Column sal heading 工資 format $ 報表頭尾標題設(shè)計: COL n Ttitle SKIP n Btitle LEFT CENTER RIGHT 行分組: BREAK ON 列名 SKIP(n|page) ON .. BREAK ON dno SKIP 3 分組計算: pute sum of sal on dno (劈斷列 ) ` XXXXXX ` order by dno ttitle left 39。202139。 skip 1 col 25 39。emp report39。 column deptno heading 部門號 column ename heading 姓名 column sal heading 工資 format $ break on deptno skip 2 pute sum of sal on deptno select deptno,ename,sal from emp order by deptno 。 2021 emp report 部門號 姓名 工資 10 KING $ CLARK $ sum $ 20 JONES $ SCOTT $ FORD $ sum $ 報表例 查看報表設(shè)置 column ttitle puter 報表設(shè)置 報表存文件 spool 文件名 spool off spool out 清除報表設(shè)置 clear column clear break clear pute ttitle off btitle off SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER ADAMS JAMES FORD MILLER Index Block Table Block ADAMS ALLEN BLAKE CLARK FORD JAMES JONES KING MARTIN MILLER SCOTT SMITH TURNER WARD MILLER TURNER BLAKE JAMES KING ROWID B樹索引 建立索引 Create index idx1 on emp(ename) 。 ?建立索引原則: 記錄有一定規(guī)模,檢索 10%內(nèi)容。 某列在 where子句中頻繁使用。 先裝數(shù)據(jù),后建索引。 使用索引 Select * from emp where ename=`JONES` 。 ?不正確的使用 select * from emp 。 select * from emp where upper(ename)=`JONES` 。 select * from emp where hiredate+7=`01JAN95` 。 在公共列上具有同一值的行在數(shù)據(jù)庫中物理地存儲在一起。 聚集可加快連接操作 Create cluster clu1(depno char(3))。 create table dep(… ) cluster clu1(dno)。 create table emp(… ) cluster clu1(dno)。 create index clu1_idx on cluster clu1 eno d01 dname 聚集 序列 Create sequence q1 increment by 10( 非零整數(shù),隱含值為 1) start with 980000 。 ?使用序列 select from 。 insert into student values(,`黎明 `…) rowid 與 rownum ?Select eno,ename,rowid ?from emp 。 ?select rownum,eno,ename ?from emp。 塊號 行號 數(shù)據(jù)庫文件