




已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Sybase培訓(xùn),1、sybase簡介 2、sybase安裝 3、數(shù)據(jù)庫客戶端與服務(wù)端配置 4、設(shè)備與數(shù)據(jù)庫的管理 5、數(shù)據(jù)庫的安全管理 6、系統(tǒng)參數(shù)設(shè)置與性能調(diào)優(yōu) 7、數(shù)據(jù)庫對象管理(sql語句) 8、浪潮通軟常用表及結(jié)構(gòu) 9、數(shù)據(jù)庫備份與恢復(fù) 10、其他,主要內(nèi)容:,一、Sybase 公司及其產(chǎn)品簡介,美國sybase公司 取system+database相結(jié)合含義,十大軟件供應(yīng)商 ASE:Adaptive Server Enterprise:面向主流的數(shù)據(jù)庫應(yīng)用產(chǎn)品集 EBD:面向基于Internet架構(gòu)的應(yīng)用產(chǎn)品集 WAREHOUS STUDIO:面向決策支持 、商務(wù)智能應(yīng)用產(chǎn)品集 iAnywhere、M-Business STUDIO:面向移動(dòng)和嵌入計(jì)算的應(yīng)用產(chǎn)品集 如何獲取sybase的技術(shù)資料 ,SYBASE主要的三種版本:, UNIX操作系統(tǒng)下運(yùn)行的版本 Novell Netware環(huán)境下運(yùn)行的版本 Windows NT環(huán)境下運(yùn)行的版本,一、Sybase 公司及其產(chǎn)品簡介,Sybase數(shù)據(jù)庫的特點(diǎn):,基于客戶/服務(wù)器(c/s)體系結(jié)構(gòu)的數(shù)據(jù)庫 其好處:1、支持共享資源且在多臺(tái)設(shè)備間平衡負(fù)載 2、允許容納多個(gè)主機(jī)的環(huán)境,充分利用了企業(yè)已有的各種系統(tǒng) 真正開放的數(shù)據(jù)庫 高性能的數(shù)據(jù)庫 體現(xiàn)在:1、可編程數(shù)據(jù)庫 2、事件驅(qū)動(dòng)的觸發(fā)器 3、多線索化,一、Sybase 公司及其產(chǎn)品簡介,Sybase數(shù)據(jù)庫的組成:,進(jìn)行數(shù)據(jù)庫管理和維護(hù)的一個(gè)聯(lián)機(jī)的 關(guān)系數(shù)據(jù)庫管理系統(tǒng): Sybase SQL Server 它是整個(gè)Sybase產(chǎn)品的核心軟件,起著數(shù)據(jù)管理、高速緩沖管理、事務(wù)管理的作用 支持?jǐn)?shù)據(jù)庫應(yīng)用系統(tǒng)的建立與開發(fā)的一組前端工具: Sybase SQL Toolset ISQL、DWB、APT 把異構(gòu)環(huán)境下其它廠商的應(yīng)用軟件和 任何類型的數(shù)據(jù)連接在一起的接口: Sybase Open Client/Open Server 通過Open Client的DB-LIB庫,應(yīng)用程序可以訪問SQL Server。而通過Open Server的SERVER-LIB,應(yīng)用程序可以訪問其它的數(shù)據(jù)庫管理系統(tǒng)。,一、Sybase 公司及其產(chǎn)品簡介,三、Sybase安裝,服務(wù)器上安裝SYBASE服務(wù)器端(數(shù)據(jù)庫管理系統(tǒng)) 每臺(tái)工作站安裝SYBASE客戶端 啟動(dòng)SYBASE服務(wù)(服務(wù)器中的控制面板管理工具服務(wù):SQL SEVER服務(wù);備份服務(wù)) 工作站與服務(wù)器的連接配置(DSEDIT) 連接測試(ping server),四、工作站與服務(wù)器的連接配置,基礎(chǔ):網(wǎng)絡(luò)連通 配置工具:dsedit工具 配置內(nèi)容:連接名 連接協(xié)議(SYBASE協(xié)議): NLWNSCK;NLMSNMP 地址(服務(wù)器的地址) NLWNSCK:服務(wù)器機(jī)器名,5000 NLMSNMP:機(jī)器名pipesybasequery,常見問題分析,客戶端無法連接服務(wù)器 1。物理連接是否ping通 2。防火墻是否把5000的端口號屏蔽了 3。修改配置 4。登陸一下客戶端的機(jī)器,六、設(shè)備與數(shù)據(jù)庫,Sybase中的幾個(gè)概念,數(shù)據(jù)庫設(shè)備 所有的數(shù)據(jù)庫都創(chuàng)建在數(shù)據(jù)庫設(shè)備上。所謂數(shù)據(jù)庫設(shè)備,不是指一個(gè)可識別的物理設(shè)備,而是指用于存儲(chǔ)數(shù)據(jù)庫和數(shù)據(jù)庫對象的磁盤原始分區(qū)或操作系統(tǒng)文件。增加一個(gè)新的數(shù)據(jù)庫設(shè)備時(shí),必須對這些設(shè)備“初始化”。初始化的過程就是將物理磁盤、磁盤分區(qū)或操作系統(tǒng)文件變?yōu)镾YBASE數(shù)據(jù)庫可以識別的設(shè)備 系統(tǒng)數(shù)據(jù)庫 安裝Sybase數(shù)據(jù)庫時(shí)會(huì)自動(dòng)生成的系統(tǒng)數(shù)據(jù)庫 用戶數(shù)據(jù)庫 :用戶自己創(chuàng)建的數(shù)據(jù)庫存儲(chǔ)實(shí)際數(shù)據(jù) 數(shù)據(jù)庫對象,六、設(shè)備與數(shù)據(jù)庫-設(shè)備管理,創(chuàng)建設(shè)備: 語法: disk init name=設(shè)備名, physname=物理文件名, vdevno=設(shè)備號,需要查詢 size=設(shè)備大小 2k為單位 可以在任何一臺(tái)工作站上執(zhí)行創(chuàng)建設(shè)備 物理文件存放于服務(wù)器上,路徑必須事先存在,文件不能事先存在,指定的驅(qū)動(dòng)器上,必須有足夠的空間。,每一個(gè)設(shè)備有唯一的設(shè)備號(0) 參數(shù)“number of devices”決定了系統(tǒng)中最多可以存在多少個(gè)設(shè)備 查找可用的設(shè)備號: sp_configure “number of device” 查看系統(tǒng)中最多可以有多少設(shè)備(有效設(shè)備號,有效不等于可用。) sp_helpdevice 查看系統(tǒng)中已經(jīng)存在的設(shè)備信息(包括已經(jīng)占用的設(shè)備號),六、設(shè)備與數(shù)據(jù)庫-設(shè)備管理,設(shè)備大小單位為2K 設(shè)備大小=物理文件的大小 設(shè)備與文件一一對應(yīng) 查看設(shè)備信息: sp_helpdevice 設(shè)備名 刪除設(shè)備 sp_dropdevice 設(shè)備名 設(shè)備一旦創(chuàng)建,其大小就不能再改變,要?jiǎng)h除設(shè)備必須先刪除設(shè)備上的數(shù)據(jù)庫,六、設(shè)備與數(shù)據(jù)庫-設(shè)備管理,創(chuàng)建設(shè)備, 刪除設(shè)備也可以通過sybase central 來操作, sybase central是圖形化界面, 操作起來比較簡單。,六、設(shè)備與數(shù)據(jù)庫-設(shè)備管理,常見問題分析,無法正常創(chuàng)建第三套帳 刪除多余的設(shè)備,或者修改賬套編號,六、設(shè)備與數(shù)據(jù)庫-Sybase數(shù)據(jù)庫分類:,系統(tǒng)數(shù)據(jù)庫:master,tempdb, model, sybsystemprocs 用戶數(shù)據(jù)庫:cwbase1,cwbaseN,Master是管理和控制用戶數(shù)據(jù)庫以及維護(hù)服務(wù)器正常運(yùn)行的核心數(shù)據(jù)庫,它保存了大量的系統(tǒng)信息,如服務(wù)器配置、用戶、設(shè)備等。 注意:在master數(shù)據(jù)庫中不允許普通用戶在其中創(chuàng)建數(shù)據(jù)庫對象,否則會(huì)使得master數(shù)據(jù)庫的事務(wù)日志很快變滿。如果事務(wù)日志用盡,就無法使用dump transaction命令釋放master數(shù)據(jù)庫中的空間,六、設(shè)備與數(shù)據(jù)庫-Sybase數(shù)據(jù)庫分類:,Master庫,六、設(shè)備與數(shù)據(jù)庫-Sybase數(shù)據(jù)庫分類:,Tempdb是個(gè)臨時(shí)數(shù)據(jù)庫,為臨時(shí)表和其他臨時(shí)工作空間提供一個(gè)存儲(chǔ)區(qū)域 。 Tempdb的空間為服務(wù)器中所有數(shù)據(jù)庫的所有用戶所共享 Tempdb的缺省大小是2M,由于企業(yè)管理軟件中用到 的臨時(shí)表比較多, 所以一般需要擴(kuò)充, 在我們的軟件, 第一次建帳就擴(kuò)到了100M,Tempdb庫,六、設(shè)備與數(shù)據(jù)庫-Sybase數(shù)據(jù)庫分類:,創(chuàng)建用戶數(shù)據(jù)庫而提供的模板 ,創(chuàng)建用戶數(shù)據(jù)庫時(shí),自動(dòng)拷貝一個(gè)Model數(shù)據(jù)庫,并且根據(jù)給定參數(shù), 擴(kuò)展該用戶庫的尺寸,model 庫,六、設(shè)備與數(shù)據(jù)庫-Sybase數(shù)據(jù)庫分類:,專門用來保存系統(tǒng)命令(存儲(chǔ)過程)的數(shù)據(jù)庫,如sp_help、sp_configure、sp_helpdevice等,sybsystemprocs庫,六、設(shè)備與數(shù)據(jù)庫-創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)庫用于存放數(shù)據(jù)與日志 創(chuàng)建數(shù)據(jù)庫 語法:create database 數(shù)據(jù)庫名 on 設(shè)備名1=大小 log on設(shè)備名2=大小 with overridefor load 數(shù)據(jù)與日志存放于同一設(shè)備時(shí),要用with override參數(shù) 為改善性能,避免數(shù)據(jù)與日志爭奪空間,數(shù)據(jù)與日志應(yīng)放在不同的設(shè)備上。,六、設(shè)備與數(shù)據(jù)庫-數(shù)據(jù)庫管理,查看數(shù)據(jù)庫信息 sp_helpdb 數(shù)據(jù)庫名 Sp_renamedb 用來重命名數(shù)據(jù)庫名字 例如: sp_dboption mm ,single,true use mm checkpoint sp_renamedb mm,nn use master sp_dboption nn,single,false use nn checkpoint,刪除數(shù)據(jù)庫 drop database 數(shù)據(jù)庫名 擴(kuò)充數(shù)據(jù)庫大小 alter database 數(shù)據(jù)庫名 on 設(shè)備名=大小 log on 設(shè)備名=大小,數(shù)據(jù)庫大小只能擴(kuò)大,不能縮小 徹底刪除一個(gè)數(shù)據(jù)庫,并釋放其所占用的空間: 先刪數(shù)據(jù)庫,再刪除設(shè)備,最后刪除設(shè)備所對應(yīng)的物理文件,釋放空間。 SQL SERVER啟動(dòng)時(shí),物理文件受保護(hù),無法刪除;服務(wù)停止,物理文件可以刪除,文件刪除,數(shù)據(jù)庫中所有數(shù)據(jù)丟失,六、設(shè)備與數(shù)據(jù)庫-數(shù)據(jù)庫管理,創(chuàng)建、刪除、擴(kuò)充數(shù)據(jù)庫操作均可以在sybase central工具中進(jìn)行,六、設(shè)備與數(shù)據(jù)庫-數(shù)據(jù)庫管理,常見問題分析,數(shù)據(jù)庫質(zhì)疑或者recovery /*使系統(tǒng)數(shù)據(jù)表可改*/ sp_configure allow update,1 /*使數(shù)據(jù)庫在啟動(dòng)時(shí)不做檢查*/ update sysdatabases set status=-32768 where name=databasename /*清理日志*/ dump tran master with no_log dump tran databasename with no_log 然后重啟數(shù)據(jù)庫,就可解決問題。但還必須做一步: sp_configure allow update,0,七、數(shù)據(jù)庫安全管理,Sybase通過對用戶的管理,控制用戶對數(shù)據(jù)的安全訪問, 來實(shí)現(xiàn)其安全管理機(jī)制 系統(tǒng)管理員sa在系統(tǒng)創(chuàng)建時(shí)自動(dòng)創(chuàng)建,空令默認(rèn)為空。 管理層次:,Sybase帳戶,數(shù)據(jù)庫用戶,Sp_addlogin,sa,Sp_adduser,操作數(shù)據(jù)庫 中數(shù)據(jù),Sybase系統(tǒng),Cwbase1,cwbase2,wyx,Sybase帳戶,wxx,yx,Cwbase1庫 的用戶 wxx,七、數(shù)據(jù)庫安全管理,七、數(shù)據(jù)庫安全管理-帳戶與用戶的操作,增加SYBASE帳戶 sp_addlogin loginame,passwd,defdb 例:sp_addlogin wang,aaaaaa,cwbase1 創(chuàng)建組 sp_addgroup grpname 例:sp_addgroup zu1 增加用戶,將SYBASE帳戶加入到數(shù)據(jù)庫中 use 數(shù)據(jù)庫名 sp_adduser loginame,name_in_db,grpname 例:sp_adduser wang,wan,zu1 用戶改變所屬組: sp_changegroup newgrpname,username 改變帳戶口令 sa改變自己口令:sp_password oldpasswd,newpasswd sa改變其他帳戶口令:sp_password sa_password(null),newpasswd,loginame,刪除SYBASE帳戶 語法:sp_droplogin loginame 例:sp_droplogin wang 刪除組 語法:sp_dropgroup grpname 例:sp_dropgroup zu1 刪除用戶: 語法:sp_dropuser username 例:sp_dropuser wan,七、數(shù)據(jù)庫安全管理-帳戶與用戶的操作,分配權(quán)限 1、命令權(quán)力 授權(quán):grant 權(quán)力清單 to 用戶名 回收權(quán)力:revoke 權(quán)力清單 from 用戶名 2、對象操作權(quán) 授權(quán): grant 操作權(quán) on 對象名 to 用戶名 回收權(quán)力: revoke 操作權(quán) on 對象名 from 用戶名,七、數(shù)據(jù)庫安全管理-帳戶與用戶的操作,常見問題分析,增加用戶的時(shí)候提示:login failed 修改ad00?9999的口令 sp_password sa的口令,新口令,ad00?9999 舉例: sp_password null,aaaaaa,ad0029999,軟件常見問題,1?;謴?fù)數(shù)據(jù)后提示無法取得系統(tǒng)id或者進(jìn)入維護(hù)工具提示找不到lsxtmc等 出現(xiàn)這種情況一般是id號不一致造成的。 解決方案:首先以sa連接數(shù)據(jù)執(zhí)行下面的語句 Select * from syslogins where name=lc00?9999 (其中?表示賬套編號)查看一下sid是多少 然后連接出問題的數(shù)據(jù)庫,執(zhí)行下面的語句 Select * from sysusers where name like lc% 查看該條記錄的sid通常和前面的紀(jì)錄是不一致的,修改成一致的即可,軟件常見問題,2。年結(jié)的時(shí)候提示找不到*表(實(shí)際上數(shù)據(jù)沒有問題),或者維護(hù)工具備份速度很快,備份不出數(shù)據(jù)。 這時(shí)候通常也是sysusers出現(xiàn)了問題 Select * from sysusers where name like lc% 查詢會(huì)出現(xiàn)一條記錄,其中name應(yīng)該=lc00?9999 (?表示賬套編號)如果查詢結(jié)果和賬套編號不一致就會(huì)出現(xiàn)上述問題,修改成一致的即可,八、系統(tǒng)參數(shù)設(shè)置與性能調(diào)優(yōu),SYBASE運(yùn)行參數(shù)配置 用sp_configure配置SYBASE運(yùn)行過程中的參 數(shù) 語法: sp_configure 參數(shù)名 查看參數(shù)配置值 sp_configure 參數(shù)名,參數(shù)配置值 修改參數(shù)配置值,需要重啟動(dòng)sql server服務(wù)使配置起作用(config valuerun value),八、系統(tǒng)參數(shù)設(shè)置與性能調(diào)優(yōu),Total memory :物理內(nèi)存*35%*512 number of devices:10+帳套數(shù)*2256 number of open databases:4+帳套數(shù) number of user connections:根據(jù)站點(diǎn)數(shù)及所用模塊 number of open objects:按照默認(rèn)值 可在帳套管理中修改。 sybase參數(shù)存放于“服務(wù)名.cfg”中,九、數(shù)據(jù)庫對象概述,數(shù)據(jù)庫中的表、視圖、缺省、規(guī)則、觸發(fā)器、索引、存儲(chǔ)過程、用戶自定義數(shù)據(jù)類型統(tǒng)稱為數(shù)據(jù)庫對象。 可以由該數(shù)據(jù)庫中有權(quán)限的數(shù)據(jù)庫用戶、數(shù)據(jù)庫屬主或系統(tǒng)管理員(sa)來創(chuàng)建數(shù)據(jù)庫對象。創(chuàng)建者成為該數(shù)據(jù)庫對象的屬主(擁有者)。 數(shù)據(jù)庫對象名區(qū)分大小寫 SYBASE中大小寫敏感,九、數(shù)據(jù)庫對象概述,數(shù)據(jù)庫對象的引用格式: 數(shù)據(jù)庫名.對象屬主名.對象名 在當(dāng)前數(shù)據(jù)庫中操作本數(shù)據(jù)庫的對象,可以省略數(shù)據(jù)庫名。 操作當(dāng)前連接用戶所擁有的數(shù)據(jù)庫對象時(shí)可以省略對象屬主名。 在當(dāng)前數(shù)據(jù)庫中操作當(dāng)前用戶所擁有的數(shù)據(jù)庫對象,數(shù)據(jù)庫名、屬主名均可省略,九、數(shù)據(jù)庫對象概述-表,表,表結(jié)構(gòu),數(shù)據(jù),列,每列屬性,每列數(shù)據(jù)類型,常用數(shù)據(jù)類型 字符型:char(n),varchar(n) 數(shù)值型:numeric(p,s),int,float 日期時(shí)間型:datetime 列屬性: Null not null,九、數(shù)據(jù)庫對象概述-表,創(chuàng)建表結(jié)構(gòu) create table 表名 (列名1 列數(shù)據(jù)類型 列屬性, 列名2 列數(shù)據(jù)類型 列屬性, . ) 同一表中列名必須唯一 不同表中列名可以相同,九、數(shù)據(jù)庫對象概述-表,修改表結(jié)構(gòu)-增加列: Alter table table_name add 列名 列數(shù)據(jù)類型 null 如:alter table aa add name char(5) null 修改表結(jié)構(gòu)-刪除列: Alter table table_name drop 列1,列2, 如:alter table aa drop name,九、數(shù)據(jù)庫對象概述-表,常見問題分析,在軟件的操作過程中提示*無效,或者invalid column* 出現(xiàn)這種提示一般是數(shù)據(jù)庫缺少提示的相應(yīng)的字段,增加上即可。根據(jù)提示我們可以知道缺少的字段,但是缺少字段的類型我們?nèi)绾未_定呢? 一般我們可以通過建表sql來搜索?;蛘咄ㄟ^升級sql來搜索 確定了相應(yīng)的數(shù)據(jù)類型后可以以lc00?9999(?表示賬套編號)登陸數(shù)據(jù)庫執(zhí)行下面的語句 Alter table 表名 add 字段名 數(shù)據(jù)類型 null 這樣問題就順利解決了,修改表名字: sp_rename 表名,新表名 如:sp_rename aa,bb Sp_rename 還可以用來修改索引、視圖等數(shù)據(jù)庫對象的名字,九、數(shù)據(jù)庫對象概述-表,系統(tǒng)表名 Sysconfigures Syscurconfigs Sysdatabases Sysdevices Syslocks Syslogins Sysmessages Sysprocesses,只有在master數(shù)據(jù)庫中才能有的系統(tǒng)表,一行記錄了用戶可設(shè)置的配置參數(shù) 有關(guān)SQL Server當(dāng)前正使用的配置參數(shù)情況 一行記錄了SQL Server中的一個(gè)數(shù)據(jù)庫 一行記錄了數(shù)據(jù)庫的每一磁帶轉(zhuǎn)儲(chǔ)設(shè)備,磁盤轉(zhuǎn)儲(chǔ)設(shè)備, 數(shù)據(jù)庫設(shè)備和磁盤分區(qū)設(shè)備和磁盤分區(qū) 有關(guān)動(dòng)態(tài)鎖的情況 一行記錄了每一有效的SQL Server的用戶帳號 一行記錄了每一系統(tǒng)錯(cuò)誤或警告 有關(guān)Server進(jìn)程的情況,表中的內(nèi)容,九、數(shù)據(jù)庫對象概述-表,查看表結(jié)構(gòu) sp_help 表名 sp_help 查看當(dāng)前庫中所有表 刪除表(表結(jié)構(gòu)刪除、表中數(shù)據(jù)丟失) drop table 表名 修改表結(jié)構(gòu) 增加新列,且新列的屬性為允許為空。 刪除列,九、數(shù)據(jù)庫對象概述-表,表中數(shù)據(jù)的操作 select Insert update delete 表中數(shù)據(jù)的操作只能在isql/sql advantage工具中寫語句來完成,不能用sybase central工具,九、數(shù)據(jù)庫對象概述-表,Select從表中查詢數(shù)據(jù) select * from 表名 select 列1,列2 from 表名 select 列1,列2 from 表 where 條件,九、數(shù)據(jù)庫對象概述-表,條件表達(dá)式的書寫: 大小比較:,=,=,!=,= 范圍確定:between . and 列表:in 模糊匹配:like 通配符:% :通配任意個(gè)數(shù)任意字符 _ :通配一個(gè)數(shù)任意字符 :范圍內(nèi)的一個(gè)任意字符 多重條件:and ,or ,not,九、數(shù)據(jù)庫對象概述-表,Select從表中查詢數(shù)據(jù) 查詢結(jié)果排序:order by 列1 asc/desc,列2 修改查詢結(jié)果的顯示標(biāo)題 查詢結(jié)果列間的計(jì)算 “+”:數(shù)值型相加;字符型連接 常用函數(shù)的使用count(),sum(),max(),min(),avg(),substring():修改編碼結(jié)構(gòu) 查詢分組:group by 分組列 insert 與select連用,九、數(shù)據(jù)庫對象概述-表,Select從表中查詢數(shù)據(jù) 其基本句法為: Select select_list from table_list where search_conditions,九、數(shù)據(jù)庫對象概述-表,1、簡單查詢 A、選擇若干列 Select expression ,expression. From table_list B、選擇若干行 Select * from table_list where search_conditions 注意:查詢中消除值重復(fù)的行 Select distinct expression from table_list,九、數(shù)據(jù)庫對象概述-表,2、連接查詢 A、等值連接和不等值連接:通過=來比較兩個(gè)表之間的數(shù)據(jù)時(shí),稱為等值連接;而通過其他比較符時(shí),稱為不等值連接 等值連接: Select * from publishers, authors where publishers.city=authors.city 不等值連接:略 B、自然連接: 在連接的目標(biāo)列中相同名的列只保留一個(gè) Select publishers.pub_id publishers.pub_name, publishers.state, authors.* From publishers, authors where publishers.city=authors.city,九、數(shù)據(jù)庫對象概述-表,3、子查詢 A、表達(dá)式子查詢 Select au_lname, au_fname from authors where city= (select city from publishers where pub_name=“abcde“) 可以使用一切大小比較操作符;在操作符和子查詢之間可以使用All 或any。 B、限定謂詞子查詢 Select pub_name from publishers Where pub_id in (select pub_id from titles where type=abcde) C、相關(guān)查詢 相關(guān)查詢即嵌套查詢依賴于外部父查詢的值,嵌套查詢要重復(fù)執(zhí)行若干次。 Select distinct t1.type from titles t1 Where t1.type in ( select t2.type from titles t2 where t1.pub_id!=t2.pub_id),九、數(shù)據(jù)庫對象概述-表,4、集函數(shù)、分組與排序 A、對查詢結(jié)果進(jìn)行聚集處理 聚集函數(shù): Sum(all|distinct expression),avg(all|distinct exoression) , Count(all|distinctexpression), count(*), max(expression), min(expression) Select count(*) from titles B、用Group by 和 having 子句對查詢結(jié)果分組 Select type ,avg(advance), sum(total_sales) from titles group by type Select type from titles group by type having count(*) 1 Having 類似于where , 但where 不能用聚集函數(shù)。,九、數(shù)據(jù)庫對象概述-表,C、用Order by 對查詢結(jié)果進(jìn)行排序 Select type ,avg(price) from titles group by type order by avg(price) D、Compute 子句 完成基于每一組中的值的聚集運(yùn)算,聚集值作為一個(gè)新行出現(xiàn)在查詢結(jié)果中。 Select type ,price advance from titles order by type compute sum(price), sum(advance) by type,九、數(shù)據(jù)庫對象概述-表,insert向表中增加數(shù)據(jù) 語法:insert 表名(列1,列2.) values(值1,值2.) 一次向表中插入一行數(shù)據(jù) 插入的數(shù)據(jù)要與列的數(shù)據(jù)類型匹配 insert 表名 values(值1,值2.) 默認(rèn)向表中所有的列插入數(shù)據(jù),值的個(gè)數(shù)與表中列數(shù)要一致 向表中部分列插入數(shù)據(jù),不出現(xiàn)的列其屬性要允許為空 Insert與select連用可以實(shí)現(xiàn)一次向表中插入多行數(shù)據(jù),九、數(shù)據(jù)庫對象概述-表,Update 修改表中數(shù)據(jù) Update 表名 set 列1=值, 列2=值, where 條件表達(dá)式 用一列的值去修改同一表中另一列的值 用一列的值去修改另一表中某列的值,九、數(shù)據(jù)庫對象概述-表,Delete刪除表中的數(shù)據(jù) Delete 表名 刪除表中的所有數(shù)據(jù),表結(jié)構(gòu)還存在 delete 表名 where 條件表達(dá)式 刪除表中滿足條件的數(shù)據(jù),九、數(shù)據(jù)庫對象概述-表,常見問題分析,查詢提示無法找到查詢格式,id=,gsbh=0001 這個(gè)時(shí)候是因?yàn)閿?shù)據(jù)庫中缺少相應(yīng)的查詢sql造成的, 我們可以通過查詢相應(yīng)的建賬sql,執(zhí)行相應(yīng)的sql即可 另一種情況時(shí)沒有任何提示,屏幕一閃而過,這個(gè)時(shí)候一般也是因?yàn)閿?shù)據(jù)庫沒有相應(yīng)的數(shù)據(jù) 查詢涉及表 Lszbgs Lstigs Lsotgs,使用sybase的bin目錄下的外部命令bcp 轉(zhuǎn)出: bcp cwbase1.lc0019999.ZWPZK out d:ZWPZK.TXT -Usa -P -Ssybase -c 轉(zhuǎn)入: bcp cwbase1.lc0019999.ZWPZK in d:ZWPZK.TXT -Usa -P - Ssybase -c 注:命令行中的-U后面是用戶名sa,-P后面是sa的口令,-S后面是服務(wù)器的名字. Bcp只能轉(zhuǎn)出一個(gè)表中所有數(shù)據(jù),不能轉(zhuǎn)出表中部分?jǐn)?shù)據(jù)。轉(zhuǎn)入的數(shù)據(jù)是添加到表中原數(shù)據(jù)的后面,而不是以覆蓋的方式轉(zhuǎn)入。 Bcp轉(zhuǎn)出數(shù)據(jù)形成的文本文件是存放在本機(jī)上。,九、數(shù)據(jù)庫對象概述-表,索引的作用: 加快對表中數(shù)據(jù)的查詢速度 唯一索引可以保證表中數(shù)據(jù)的唯一性 索引的缺點(diǎn): 占用空間 減慢表中數(shù)據(jù)的修改及刪除速度,九、數(shù)據(jù)庫對象概述-索引,創(chuàng)建索引 語法: create uniqueclustered/nonclustered index 索引名 on 表名(列1,列2.) unique:唯一索引,索引所基于的列不能有重復(fù)值。 Clustered:聚簇索引,改變數(shù)據(jù)存放的物理順序,一個(gè)表只能有一個(gè)。 Nonclustered:非聚簇索引,不改變。,九、數(shù)據(jù)庫對象概述-索引,數(shù)據(jù)庫對象概述-索引,出現(xiàn)以下情況可以為表創(chuàng)建索引 經(jīng)常用于檢索、查詢的列 用于兩表連接的列 在表中建唯一索引可以增強(qiáng)數(shù)據(jù)的完整性 出現(xiàn)以下情況建議不要建索引 很少或不在查詢中引用的列 只有兩三個(gè)值的列(例如性別) 小表或者行數(shù)很小的表,查看索引 sp_help 表名 sp_helpindex 表名 刪除索引 drop index 表名.索引名,九、數(shù)據(jù)庫對象概述-索引,視圖是個(gè)虛表,不存儲(chǔ)實(shí)際數(shù)據(jù),它的數(shù)據(jù)來自其他表或者視圖 視圖的作用 方便查詢 提高行安全性 提高列安全性 語句: create view view_namecol_name, as select statement Drop view view_name,九、數(shù)據(jù)庫對象概述-視圖,觸發(fā)器是一種特殊的存儲(chǔ)過程,用來維護(hù)不同表中的相關(guān)數(shù)據(jù)的一致性。當(dāng)在一張表中插入、刪除和修改數(shù)據(jù)時(shí),觸發(fā)器就會(huì)觸發(fā)另一個(gè)存儲(chǔ)過程,從而保持?jǐn)?shù)據(jù)的一致性。,九、數(shù)據(jù)庫對象概述-觸發(fā)器,規(guī)則是可以理解為對數(shù)據(jù)庫、某一列、某用戶數(shù)據(jù)類型的限制。 Create rule 規(guī)則名 as 變量=表達(dá)式 綁訂:sp_bindrule 規(guī)則名,表.列名 規(guī)則必須綁訂,規(guī)則才能生效。 解除綁訂 sp_unbindrule 表.列名 刪除規(guī)則 drop rule 規(guī)則名,九、數(shù)據(jù)庫對象概述-規(guī)則,數(shù)據(jù)庫對象概述-規(guī)則,舉例: 創(chuàng)建一個(gè)值得規(guī)則 Create rule rul_name as state in (ca,co,wa) 注意它帶有一個(gè)為前綴的參數(shù) 將規(guī)則與表的列(A.F_1)捆綁 Sp_bindrule “rul_name”,”A.F_1” 注意加引號,缺省是在數(shù)據(jù)錄入時(shí),若用戶沒有輸入數(shù)據(jù),SQL Server自動(dòng)輸入的值。 Create default 缺省名 as表達(dá)式 綁訂:sp_binddefault 缺省名,表.列名 解除缺省 sp_unbindefault 表.列名 刪除缺省 drop default 缺省名,九、數(shù)據(jù)庫對象概述-缺省,存儲(chǔ)過程是用T-SQL語言編寫成的SQL子例程,它存儲(chǔ)于SQL服務(wù)器上 供用戶調(diào)用執(zhí)行。與一般的SQL語句和批處理語句不同的是,存儲(chǔ)過程是經(jīng)過預(yù)編譯的。當(dāng)首次運(yùn)行一個(gè)存儲(chǔ)過程時(shí),SQL Server的查詢處理器將對其分析,并產(chǎn)生最終的執(zhí)行方案。由于查詢處理的大部分工作已經(jīng)完成,所以以后執(zhí)行存儲(chǔ)過程時(shí)速度將會(huì)很快。執(zhí)行存儲(chǔ)過程時(shí)可帶參數(shù)并可調(diào)用其他存儲(chǔ)過程,執(zhí)行完畢后返回信息以指示是否成功完成相應(yīng)操作。存儲(chǔ)過程有兩種:一種是SQL服務(wù)器安裝時(shí)自動(dòng)建立的系統(tǒng)存儲(chǔ)過程(系統(tǒng)過程),另一種是用戶自己創(chuàng)建的存儲(chǔ)過程。 系統(tǒng)過程是用于系統(tǒng)管理,并且為用戶提供了從事數(shù)據(jù)庫管理的一種途徑。這些系統(tǒng)過程都是以sp_開頭的,它們都放在master數(shù)據(jù)庫中且隸屬于sa(系統(tǒng)管理員) 。也有很多可以在任一個(gè)數(shù)據(jù)庫中運(yùn)行的系統(tǒng)過程。,九、數(shù)據(jù)庫對象概述-存儲(chǔ)過程,建立存儲(chǔ)過程 create proc 過程名 as select_statement 調(diào)用存儲(chǔ)過程: 直接寫過程名,如果不是批處理的第一條命令,則要加“exec”。,九、數(shù)據(jù)庫對象概述-存儲(chǔ)過程,常見的系統(tǒng)過程有: Sp_addgroup 在當(dāng)前數(shù)據(jù)庫中建立一個(gè)數(shù)據(jù)庫用戶組 Sp_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共政策與法律法規(guī)關(guān)系試題及答案
- 客戶反饋與戰(zhàn)略迭代的關(guān)系試題及答案
- 2025年數(shù)據(jù)處理流程試題及答案
- 多線程編程入門試題及答案
- 風(fēng)險(xiǎn)管理中的領(lǐng)導(dǎo)角色分析試題及答案
- 軟件開發(fā)中的人際溝通技巧試題及答案
- 知識點(diǎn)的關(guān)聯(lián)性深入講解2025年計(jì)算機(jī)二級VB考試試題及答案
- VB編程人員的職業(yè)資格發(fā)展題及答案
- 程序設(shè)計(jì)語言選擇的試題及答案
- 戰(zhàn)略溝通對風(fēng)險(xiǎn)防范的作用試題及答案
- 《學(xué)前教育中幼兒創(chuàng)新思維培養(yǎng)的策略探究》開題報(bào)告5500字
- DB14-T2547-2022制藥企業(yè)質(zhì)量控制化學(xué)藥品實(shí)驗(yàn)室管理規(guī)范
- 自由搏擊基礎(chǔ)理論知識單選題100道及答案解析
- 民間非營利組織審計(jì)報(bào)告(模板)
- 《智慧體育競技科技助力新突破》演講課件
- 2024年10月自考試02899生理學(xué)部分真題含解析
- 2023-2024屆高考作文模擬寫作諺語中的經(jīng)驗(yàn)與智慧導(dǎo)寫及范文(含答案)
- DB4417T4-2022地理標(biāo)志產(chǎn)品 陽江豆豉
- DL∕T 1819-2018 抽水蓄能電站靜止變頻裝置技術(shù)條件
- DL∕ T 969-2005 變電站運(yùn)行導(dǎo)則
- 商場快閃門店裝修合同模板
評論
0/150
提交評論