無論是B/C 架構(gòu)還是B/S架構(gòu)的軟件或系統(tǒng),都離不開數(shù)據(jù)庫的存儲,同時也少不數(shù)據(jù)的增冊改查操作,數(shù)據(jù)庫的查詢語句好與壞也決定著程序是否足夠優(yōu)化的標(biāo)準(zhǔn)之一,在此南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)工程師先向大家介紹一些基本的數(shù)據(jù)查詢和設(shè)置操作,以后會進(jìn)一步深學(xué)分享一些優(yōu)秀的查詢語句以便大家在工作上用得上,順便說下,SQL> 這是本地操作的提示符,實(shí)際應(yīng)用時是不要此標(biāo)簽 。
1.SQL局部變量的定義和使用
創(chuàng)建一個@myvar變量,然后將一個字符串值放在變量中,輸出@myvar變量的值。
DECLARE @myvar char(10)
SELECT @myvar = '變量測試'
SELECT @myvar
GO
2.通過查詢給T-SQL變量賦值
USE test
GO
DECLARE @rows int
SET @rows = (SELECT COUNT(*) FROM sc)
SQL全局變量的定義和使用
3.顯示到當(dāng)前日期和時間為止試圖登錄SQL Server的次數(shù)。
SELECT GETDATE()AS '當(dāng)前時間',@@CONNECTIONS AS '登錄次數(shù)'
4.SQL*Plus命令綁定變量操作
VARIABLE job1 CHAR
EXECUTE :job1 :='CLERK'
SELECT * FROM EMP WHERE JOB=:JOB1;
PRINT job1
5.顯示行和頁變量的大小
SQL> SHOW linesize pagesize
6.查看回收站
使用SHOW recyclebin命令可查看回收站的內(nèi)容,一般來說,此項(xiàng)操作是在執(zhí)行清除(purge)回收站或閃回(flashback)恢復(fù)之前執(zhí)行的。
SQL>SHOW recyclebin
7.設(shè)置每行顯示80字符,每頁顯示26行
SQL> SET linesize 80 pagesize 26
8.設(shè)置數(shù)據(jù)自動提交
SQL> SET AUTOCOMMIT on
SQL> SHOW AUTOCOMMIT
autocommit IMMEDIATE
9.設(shè)置“&”字符的輸入
在SQL*Plus默認(rèn)環(huán)境里會把'&字符'當(dāng)成變量來處理,有些時候也需要在SQL>的符號下輸入'&字符',只需要改變SQL*Plus下一個環(huán)境變量define即可。
查看當(dāng)前SQL*Plus的define狀態(tài):
SQL> SHOW define;
把默認(rèn)的&綁定變量的功能取消,可以把'&字符'當(dāng)成普通字符處理。
SQL> SET define off;
打開&綁定變量的功能,&后面的字符串當(dāng)做變量使用。
SQL> SET define on;
10.設(shè)置列之間的分隔符
SQL> SHOW COLSEP
colsep " "
SQL> SET COLSEP |
SQL> SHOW COLSEP
colsep "|"
SQL>
11.設(shè)置是否顯示列標(biāo)題
SQL> SET heading off
SQL> show heading
heading OFF
SQL> SET heading on
12.設(shè)置命令提示符
SQL>SET sqlprompt SQL*PLUS>
SQL*PLUS>
13.設(shè)置系統(tǒng)時間顯示
SQL*PLUS>SET time on
10:36:35 SQL*PLUS>
14.把設(shè)置好的SQL環(huán)境變量值全部保存在一個腳本文件里
10:36:35 SQL*PLUS>STORE SET e:sqlsqlset.sql
Created file e:sqlsqlset.sql
15.按工資和崗位條件查找雇員信息
ACCEPT job1 CHAR PROMPT '請輸入要統(tǒng)計(jì)的工作職位名稱:' HIDE
ACCEPT salary NUMBER PROMPT '請輸入要統(tǒng)計(jì)的最低工資數(shù):'
PROMPT 按任一鍵繼續(xù)
PAUSE
SELECT * FROM BaiHeng_db WHERE job LIKE '&job1'+'%' AND sal>=&salary
16.數(shù)據(jù)表復(fù)制
①使用using子句指定一個查詢,將其查詢結(jié)果數(shù)據(jù)復(fù)制到本地?cái)?shù)據(jù)庫的當(dāng)前模式下BaiHeng_dbloyee表中。例如:
copy from hr/hrd@rensh replace BaiHeng_dbloyee using SELECT last_name,salary from BaiHeng_db_details_view where department_id=30
②使用create命令從一個遠(yuǎn)程數(shù)據(jù)庫復(fù)制數(shù)據(jù)到本地?cái)?shù)據(jù)庫。
copy from hr/@bostondb create BaiHeng_dbcopy using SELECT*from hr
③為其他用戶復(fù)制數(shù)據(jù)。
copy from hr/hr@dbora create job using SELECT*from renbs.jobs
④以用戶hr的身份連接到數(shù)據(jù)庫dbora,將renbs模式的jobs表復(fù)制到本地?cái)?shù)據(jù)庫。
在同一個數(shù)據(jù)庫中可將一個模式的表復(fù)制到另一個模式中。同樣必須指定用戶口令和數(shù)據(jù)庫服務(wù)名。
copy from hr/password@mydatabase insert BaiHeng_dbloyee_copy2 using SELECT*from BaiHeng_dbloyee_copy
⑤在同一個遠(yuǎn)程數(shù)據(jù)庫中復(fù)制表,必須使關(guān)鍵字from和to中包含相同用戶名和數(shù)據(jù)庫服務(wù)名。
copy from hr/password@daliandb to hr/password@daliandb insert BaiHeng_dbloyee_copy2-
using SELECT*from BaiHeng_dbloyee_copy
17.Oracle的FORMAT用法
SQL> COLUMN DEPTNO JUSTIFY CENTER FORMAT A15;
SQL> SELECT * FROM dept;
DEPTNO DNAME LOC
------ --------- --------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
18.Oracle的BREAK用法
SELECT * FROM BaiHeng_db WHERE SAL>=1500 ORDER BY deptno
19.Oracle的COMPUTE用法
按部門統(tǒng)計(jì)工資情況并生成報(bào)表:
SQL>BREAK ON REPORT
SQL>COMPUTE sum LABEL小計(jì):OF sal ON REPORT;
本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對廣技人員有所幫助。原創(chuàng)文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http: //www.gimmickmag.com 如轉(zhuǎn)載請注明出處!