![SQL大部分關(guān)鍵字 與 語法.doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-1/11/296e0ade-0c98-4b73-8fe8-0c4702e93266/296e0ade-0c98-4b73-8fe8-0c4702e932661.gif)
![SQL大部分關(guān)鍵字 與 語法.doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-1/11/296e0ade-0c98-4b73-8fe8-0c4702e93266/296e0ade-0c98-4b73-8fe8-0c4702e932662.gif)
![SQL大部分關(guān)鍵字 與 語法.doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-1/11/296e0ade-0c98-4b73-8fe8-0c4702e93266/296e0ade-0c98-4b73-8fe8-0c4702e932663.gif)
![SQL大部分關(guān)鍵字 與 語法.doc_第4頁](http://file.renrendoc.com/FileRoot1/2020-1/11/296e0ade-0c98-4b73-8fe8-0c4702e93266/296e0ade-0c98-4b73-8fe8-0c4702e932664.gif)
![SQL大部分關(guān)鍵字 與 語法.doc_第5頁](http://file.renrendoc.com/FileRoot1/2020-1/11/296e0ade-0c98-4b73-8fe8-0c4702e93266/296e0ade-0c98-4b73-8fe8-0c4702e932665.gif)
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
【數(shù)據(jù)庫的文件】*.mdf 主數(shù)據(jù)文件*.ldf 日志數(shù)據(jù)文件 支持?jǐn)?shù)據(jù)恢復(fù),當(dāng)出現(xiàn)錯誤時可以完成自動還原*.ndf 輔助文件 分擔(dān)主數(shù)據(jù)庫數(shù)據(jù)【SQLServer登錄方式】Windows登錄 通過系統(tǒng)提供基于administrators管理員身份的用戶登錄SQLServer和windows 使用SQLServer帳號登錄 用戶sadbo 【庫的創(chuàng)建】create database on( name = 文件名稱, 注意:一定要用 , 區(qū)分每個屬性的設(shè)定filename = 絕對路徑/數(shù)據(jù)文件名.mdf ,size = 分配的空間(MB) , 注意:在未定義此屬性時,默認(rèn) 1 MB maxsize = 將文件增長限制為(MB) , 注意:在未定義此屬性時, 默認(rèn)文件增長不受限制,定義后,要注意,此定義的值不能小于分配的空間的值filegrowth = 文件自動增長(KB / %) 注意:在未定義此屬性時,默認(rèn)增長10 最小64KB)log on(name = 文件名稱,filename = 絕對路徑/日志數(shù)據(jù)文件名.ldf ,size = 分配的空間(MB) , maxsize = 將文件增長限制為(MB) ,filegrowth = 文件自動增長(KB / %)【改變庫的文件】alter database 修改一個文件modify file ( name = 文件名 注意:此屬性必須填寫,用來確定具體的文件size = 分配的空間(MB) , 注意:修改的值應(yīng)大于原來的值maxsize = 將文件增長限制為(MB) ,filegrowth = 文件自動增長(KB / %))增加一個數(shù)據(jù)文件add file(name = 文件名稱,filename = 絕對路徑/數(shù)據(jù)文件名.mdf /ndf ,size = 分配的空間(MB) , maxsize = 將文件增長限制為(MB) ,filegrowth = 文件自動增長(KB / %)增加一個日志文件add log file(name = 文件名稱,filename = 絕對路徑/日志文件名.ldf ,size = 分配的空間(MB) , maxsize = 將文件增長限制為(MB) ,filegrowth = 文件自動增長(KB / %)刪除一個文件remove file 注意:不能從數(shù)據(jù)庫中刪除主數(shù)據(jù)文件或主日志文件?!静僮餍畔⒌拇鎯^程】sp_helpdb 顯示具體數(shù)據(jù)庫的結(jié)構(gòu)信息sp_renamedb , 對數(shù)據(jù)庫的重命名【刪除數(shù)據(jù)庫】drop database 表中數(shù)據(jù)類型整數(shù)型bigint 19位int 10位smallint 5位tinyint 3位Numeric 1 38位 浮點型float 53位decimal 1 38 位 不會四舍五入money 19位 4位小數(shù)位數(shù) 可以四舍五入smallmoney 10位 4位小數(shù)位數(shù) 可以四舍五入日期類型datetime 1753年1月1日 9999年12月31日smalldatetime 1990年1月1日 2079年6月6日加n表示可以支持unicode字符型char ncharvarchar nvarchar例子: char(6) varchar(6) abcdechar(6)abcde varchar(6)abcde大字段類型text ntextimage在關(guān)系型數(shù)據(jù)庫中,一般需要對表需要確定主鍵關(guān)系。主鍵:具備檢索作用,可以確定數(shù)據(jù)邏輯的唯一型,最多可以設(shè)定16個列的主鍵聲明來確定主鍵約束的唯一。主鍵類型: 1 自然主鍵 (text , image不允許做主鍵使用) 2 代理主鍵 (只能使用整數(shù)類型) identity【創(chuàng)建表】create table ( 列名 數(shù)據(jù)類型(長度) not null / 默認(rèn)為 null , 注意: 逗號用來區(qū)分多個列屬性的定義 )SQLServer中允許我們添加的約束constraint 約束類型主鍵 : primary key 例: constraint tb_PK primary key(column,.)注意:如果只用一個列來描述主鍵,那么,可以在此列后直接聲明 例:列名 類型(長度) primary key唯一 : unique例: constraint tb_UQ unique (column) 或者 列名 類型(長度) unique 效驗 : check 例: constraint tb_CK check(表達式) 或者 列名 類型(長度) check(表達式)外鍵 : foreign key 例: constraint tb_FK foreign key(column) references p_tb(PK_column) 或者 列名 類型(長度) references p_tb(PK_column)缺省 : default 對應(yīng)類型的值標(biāo)識創(chuàng)建: identity (標(biāo)識種子,標(biāo)識增量)【刪除表】drop table 【表關(guān)系設(shè)計】 多 對 一 many to one一 對 一 one to one一對多例子: 主 外CustomersOrdersIdNameSexIdCreatedateOrderdesc.Customer_id關(guān)系設(shè)計原則:外表中增加一個外鍵,此外鍵來源與主表的主鍵張三 此表設(shè)計了一個客戶對應(yīng)多個訂單的概念但此設(shè)計在數(shù)據(jù)庫中無法進行表數(shù)據(jù)描述訂單1訂單2訂單3訂單1張三訂單2張三訂單3李四一對一例子:主 外AccountfindpasswdId UsernamepasswordIdoldpasswdpasswdtypeanswer關(guān)系設(shè)計原則:定義表之間公用一個主鍵的原則,外鍵表中在同時建立與主鍵表的主外鍵關(guān)系多對多 主 主TeacherIdtnamesexClassIdcnamenodescTeacherAndClassTeacher_idClass_id多對多是通過兩個多對一來完成的,中間表中的主鍵是約束數(shù)據(jù)唯一型的ClassesIdNameTeachersId NameTeacherAndclassId Teacher_idClass_id 注意: 刪除時,如果表與表間存在關(guān)系,那么,我們應(yīng)該先刪除外方表,在刪除主方表【改變表結(jié)構(gòu)】alter table 增加列字段 add 列名 類型(長度) 刪除字段 (注意:綁定約束條件的字段,不可刪除) drop column 列名修改字段名稱 (注意:修改名稱,會影響存儲過程,觸發(fā)器,字段對應(yīng)約束等相關(guān)信息)sp_rename tbname . oldcolumn , newoldcolumn 增加約束add constraint 約束類型 刪除約束Drop 【修改表名】sp_rename oldtbname , newtbname【數(shù)據(jù)操作】查詢select 【函數(shù)】時間函數(shù): 日期組件: year , month , day , week , hour , minute , second year(時間字符串) mouth(時間字符串) day(時間字符串) datepart(日期組件,時間字符串) getdate() 獲得系統(tǒng)當(dāng)前時間 返回整型 datename(日期組件,時間字符串) 返回字符型 dateadd(日期組件,增加數(shù)量, 時間字符串) 基于組件,進行時間定義 datediff (日期組件, 時間字符串1, 時間字符串2) 按照組件以時間字符串2 減 時間字符串1 convert(顯示類型, 時間字符串,格式編碼) 轉(zhuǎn)換時間格式例題:完成數(shù)據(jù)庫文件每天備份的一個方法! 1 如何備份一個文件 backup database to disk = 路徑/ 文件名稱.dat2 變量的聲明與定義 declare 變量名稱 數(shù)據(jù)類型(長度);3 給變量賦值 set 變量名稱 = 值 將右方的值賦給了左方的變量4 “+” 對應(yīng)字符串操作,此 ”+” 代表連接5 打印 print 變量名稱6 將此變量與備份語句合并declare url varchar(100)set url = D:backup + convert(varchar,getdate(),112) + new4.datprint urlbackup database new4 to disk = url【查詢表信息】select distinct | top # from where group by having order by asc | desc 【邏輯運算符】 , = , != , , = ,= , and , or between 值 and 值 = and = not between 值 and 值【特殊運算符】is null , is not null in() not in()【字符串通配符( )及占位符( _ )】like 【數(shù)據(jù)排序】 order by asc(升序) 默認(rèn) | desc(降序)【聚合函數(shù)】count(distinct 列 / *)max(列)min(列) sum(列) 不能將定義類型為varchar的列進行操作avg(列) 如果字段定義為整數(shù)型,那么將會執(zhí)行整除select 內(nèi)容 from order by compute 聚合函數(shù) by 【分組】group by having 表達式【子查詢】可以在 update,delete,select語句中使用分頁語句987654321 id not in (0) id not in (9,8) id not in (9,8,7,6) .缺省時,會按照主鍵進行升序的排列,如果父查詢定義了倒序的排列,那么子查詢也應(yīng)定義為倒序的排列541 id not in(0) id not in(5,4) 【將查詢的結(jié)果轉(zhuǎn)入到定義的表中】select distinct | top # into from where group by having order by asc | desc insert into select from 【數(shù)據(jù)添加】Insert into values (.) 1 值需與字段結(jié)構(gòu)順序一致2 數(shù)據(jù)類型3 如果設(shè)定代理主鍵,我們將忽略主鍵的操作 Insert into ( colname , ) values ()1 數(shù)據(jù)類型2 如果設(shè)定代理主鍵,我們將忽略主鍵的操作 【修改表數(shù)據(jù)】 update set columnName = value , where 【刪除表數(shù)據(jù)】 delete from where【存儲過程】存儲過程相對于其他的數(shù)據(jù)庫訪問方法有以下的優(yōu)點:(1)重復(fù)使用。存儲過程可以重復(fù)使用,從而可以減少數(shù)據(jù)庫開發(fā)人員的工作量。(2)提高性能。存儲過程在創(chuàng)建的時候就進行了編譯,將來使用的時候不用再重新編譯。一般的SQL語句每執(zhí)行一次就需要編譯一次,所以使用存儲過程提高了效率。(3)減少網(wǎng)絡(luò)流量。存儲過程位于服務(wù)器上,調(diào)用的時候只需要傳遞存儲過程的名稱以及參數(shù)就可以了,因此降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。(4)安全性。參數(shù)化的存儲過程可以防止SQL注入式的攻擊,而且可以將Grant、Deny以及Revoke權(quán)限應(yīng)用于存儲過程。CREATE PROCEDURE (參數(shù) type length .)AS 邏輯 BEGIN SQL的腳本 ENDGO調(diào)用: execute DECLARE price_date DATETIME SET price_date = CONVERT(DATETIME,2007-01-01) WHILE price_date FreightParm 18 RETURN 19END游標(biāo)Declare Id varchar(20) Declare Name varchar(20) Declare Cur Cursor For select substring(id,0,7) as id,name from temp1 Open Cur Fetch next From Cur Into Id,Name While fetch_status=0 Begin Update temp Set c3=Name where id like Id+% Fetch Next From Cur Into Id,Name End Close Cur Deallocate Cur 【觸發(fā)器】C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鋰電池用特種玻璃粉項目立項申請報告模范
- 2025年二手教練車銷售合同格式
- 2025年乳制品代理銷售合同
- 2025年阻沙固沙網(wǎng)項目立項申請報告模板
- 2025年不動產(chǎn)權(quán)購房合同范本
- 2025年家禽購銷合同協(xié)議
- 2025年陶瓷基體項目申請報告模范
- 2025年健身器材購置合同
- 2025年合伙型股權(quán)分配合同
- 2025年度制造業(yè)租賃協(xié)議樣式
- 撫恤金喪葬費協(xié)議書模板
- 準(zhǔn)備單元 雪地上的“足跡”(教學(xué)設(shè)計)-2023-2024學(xué)年五年級下冊科學(xué)大象版
- 信息技術(shù)必修一《數(shù)據(jù)與計算》三章第二節(jié)《數(shù)據(jù)分析與可視化》教案
- NB-T32042-2018光伏發(fā)電工程建設(shè)監(jiān)理規(guī)范
- 中國電信入職流程
- 音樂學(xué)科閱讀方案
- 2024-2030年中國醫(yī)藥設(shè)備市場發(fā)展分析及市場趨勢與投資方向研究報告
- 基于新課標(biāo)學(xué)習(xí)的教材解讀及教學(xué)建議部編《道德與法治》二年級下冊
- 《社區(qū)康復(fù)》課件-第二章 社區(qū)康復(fù)的內(nèi)容
- 淚道狹窄與阻塞的護理
- 銑床工安全技術(shù)操作規(guī)程培訓(xùn)
評論
0/150
提交評論