




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、創(chuàng)建數(shù)據(jù)庫的一般步驟: (一)、切換系統(tǒng)數(shù)據(jù)庫use mastergo (二)、判斷數(shù)據(jù)庫是否已有的同名數(shù)據(jù)庫并將其刪除(1)、if exists (select * from sys.sysdatabases where name='數(shù)據(jù)庫名稱')drop database 數(shù)據(jù)庫名稱go (2)、if (select count(*) from sys.sysdatabases where name='數(shù)據(jù)庫名稱') > 0drop database 數(shù)據(jù)庫名稱go 注:sys.sysdatabases :指的是
2、一個系統(tǒng)視圖 (3)、if db_id('數(shù)據(jù)庫名稱') is not nulldrop database 數(shù)據(jù)庫名稱 注意:db_id : 是SQL Server中的一個系統(tǒng)函數(shù),用于返回數(shù)據(jù)庫標識(id)號db_id函數(shù)的使用語法:db_id ('數(shù)據(jù)庫名稱')若省略數(shù)據(jù)庫名稱則返回當前數(shù)據(jù)庫的id,若查詢不到,則返回null (三)、創(chuàng)建文件夾的兩種方法:(1)、啟用外圍配置【此方法適用于找不到“sql server 外圍應用配置器“的情況】exec sp_configure 'show advanced
3、options',1reconfigureexec sp_configure 'xp_cmdshell',1reconfigurego -調(diào)用dos命令創(chuàng)建文件夾exec xp_cmdshell 'md D:sqlS2_sqllibrary',no_outputgo 注意:xp_cmdshell:擴展存儲過程(函數(shù)),用于執(zhí)行一個DOS命令exec xp_cmdshell 'md或mkdir D:StuDB' (2)、找到”配置工具”->打開”sql server 外圍應用配置器”->進入”功能的
4、外圍應用配置器”->將”啟用xp_cmdshell”打上勾->點擊應用即可(四)、創(chuàng)建數(shù)據(jù)庫的語法create database 數(shù)據(jù)庫名稱on primary <數(shù)據(jù)文件參數(shù)>:( name=邏輯名稱(管理員用的),.mdf filename=絕對路徑(物理名稱), size=初始大?。╩b), maxsize=限制可增長的最大大小(mb), filegrowth=自動增長量(mb / %)Log on<日志文件參數(shù)>的語法( name=邏輯名稱(管理員用的),ldf filename=絕對路徑(物理名稱), size=初始大?。╩b), maxsize=
5、限制可增長的最大大小(mb), filegrowth=自動增長量(mb / %)Go 注:創(chuàng)建多個次要文件時,需用”,”隔開,如:Create database 數(shù)據(jù)庫名On primary(Name=.mdf(同上),filegroup a(命名)(Name=.ndf. (同上))。Log on(同上),filegroup((同上)) 刪除數(shù)據(jù)庫drop database 數(shù)據(jù)庫名稱(數(shù)據(jù)庫名稱1,。,數(shù)據(jù)庫名稱n) 創(chuàng)建表的一般步驟:(一)、切換所創(chuàng)建的數(shù)據(jù)庫Use 數(shù)據(jù)庫名Go (二)、判斷該數(shù)據(jù)庫是否已存在該表檢驗的方法:(1)、if exist
6、s (select * from sysobjects where name='表名' and xtype='U')drop table 表名go (2)、if (select count(*) from sysobjects where name=表名 and xtype=U) > 0Drop table 表名Go 注:每個數(shù)據(jù)庫都有一個系統(tǒng)視圖sysobjects,記錄了所在數(shù)據(jù)庫的表、約束、視圖、存儲過程、觸發(fā)器等對象name:對象名稱xtype:類型S:system table系統(tǒng)表U:user table用戶表PK:prima
7、ry key主鍵約束CK:check 檢查約束FK:foreign key 外鍵約束UQ:unique 唯一約束SP:stored procedure 存儲過程TR:trigger 觸發(fā)器(3)、if object_ID(對象名,對象類型) is not nullDrop table 表名Go 注:object_ID:系統(tǒng)函數(shù),用于返回數(shù)據(jù)庫對象標識號對象名:可為表名、約束名、存儲過程名、視圖名。對象類型:U(用戶自定義類型)、V(視圖)、C(check約束)。 (三)、創(chuàng)建表create table 表名(列名 數(shù)據(jù)類型 約束(非空、標識列),列名 數(shù)據(jù)類型 約束,.)Go注:在建
8、表時的約束一般只規(guī)定非空、標識identity(標識列) 的使用語法:identity(seed,increment)seed : 標識種子或起始值;increment : 遞增量 添加約束語法:Alter table 表名Add constraint 約束名 約束類型 具體的約束內(nèi)容,constraint 約束名 約束類型 具體的約束內(nèi)容,。Go 兩個較為特殊約束:默認:alter table 表名add constraint 約束名稱 default(默認值) for 列名 外鍵:alter table 表名add constraint 約束名稱 foreig
9、n key(列名) references 主表名(引用的列名) 約束名的取名則:主鍵(Primary Key)約束:PK_約束字段唯一(Unique Key)約束:UK_約束字段默認(Default Key)約束:DK_約束字段檢查(Check Key)約束:CK_約束字段外鍵(Foreign Key)約束:FK_約束字段 刪除約束Alter table 表名Drop constraint 約束名添加列的語法:Alter table 表名Add 字段1 數(shù)據(jù)類型 字段特征字段2 數(shù)據(jù)類型 字段特征注:也可以向現(xiàn)有的表添加列,但相應的列必須允許為null值或是該列創(chuàng)建了def
10、ault約束 刪除列語法:Alter table 表名Drop column 字段 修改列(列名、數(shù)據(jù)類型、長度、精度、小數(shù)位數(shù)、可空性)語法:Alter table 表名Alter column 字段 數(shù)據(jù)類型 null | not null (1)、修改列的可空性Alter table 表名Alter column 字段 數(shù)據(jù)類型 null (2)、修改列的名稱Sp_rename object_name,new_name,object_type注:Sp_rename : 修改列的名稱(表、索引、列、數(shù)據(jù)庫名)Object_name:用戶對象或數(shù)據(jù)類型
11、的當前限定或非限定名稱New_name:指定對象的新名稱Object_type:可選參數(shù),表要重命名的對象的類型,默認值為null 刪除表:Use 當前數(shù)據(jù)庫Go Drop table 表名Go 第一層驗證:登錄名:SQL驗證:自定義名稱 第三層驗證:使用戶針對表具備某種權(quán)限Grant 權(quán)限名稱 on 對象(表) to 用戶名Revoke權(quán)限名稱 on 對象(表) from 用戶名Deny權(quán)限名稱 on 對象(表) from 用戶名 利用存儲過程完成同樣目的:第一層:創(chuàng)建登錄名Windows登陸賬戶(一)、創(chuàng)建Windows登錄賬戶
12、的兩種方法:(1)、Exec sp_grantlogin 計算機名用戶名 (2)、create login 登錄名稱 with password=登錄密碼 (二)、修改登陸賬戶Alter login 登錄名稱 with <set_option> 注:<set_option> :可為“password=新密碼 ” 或“Name=新登錄名稱” (三)、刪除登陸賬戶Drop login 登錄名稱 SQL登陸賬戶(一)、創(chuàng)建數(shù)據(jù)庫用戶的兩種方法:(1)、Exec sp_addlogin 用戶名,密碼 (2)、crea
13、te user 用戶名稱for | from login 登錄名 (二)、修改數(shù)據(jù)庫用戶Alter user 用戶名稱With name=用戶新名稱 (三)、刪除數(shù)據(jù)庫用戶Drop user 用戶名稱 注:Exec:表調(diào)用存儲過程,類似Java語言的函數(shù) 創(chuàng)建數(shù)據(jù)庫用戶名Exec sp_grantdbaccess 登陸賬戶名,數(shù)據(jù)庫用戶名(數(shù)據(jù)庫用戶名為可選參數(shù),默認為登錄名,即數(shù)據(jù)庫用戶默認和登陸賬戶同名) 授權(quán):(一)、權(quán)限的種類1、數(shù)據(jù)對象權(quán)限(DML)注:DML:數(shù)據(jù)操作語言,即select、update、insert、de
14、lete、execute 2、語句權(quán)限(DDL)注:DDL:數(shù)據(jù)定義語言,即create database(創(chuàng)建數(shù)據(jù)庫)、create table(創(chuàng)建表)、create view(創(chuàng)建視圖)、create procedure(創(chuàng)建存儲過程)、backup database(備份數(shù)據(jù)庫) 3、隱含權(quán)限(二)、用戶權(quán)限管理1、授予(grant):對用戶授予某種權(quán)限2、收回(revoke):對用戶收回(即刪除)已授予的權(quán)限3、禁用(deny):禁止用戶擁有某種權(quán)限 grant | revoke | deny 權(quán)限on 表名字段 to 數(shù)據(jù)庫用戶如:Grant 權(quán)限 o
15、n 表名 to 用戶名 當分配所有權(quán)限給某個用戶時,可以使用all語法:Grant all on 表名 to 用戶名 T-SQL編程與高級查詢一、局部變量1、局部變量:以“”開頭定義局部變量的語法:Declare 局部變量名 數(shù)據(jù)類型,局部變量名 數(shù)據(jù)類型。(1)set 變量名 = 值值:可為一個常量、任何有效的表達式、一個返回單值的查詢語句 (2)select 變量名 = 值區(qū)別:A、set一次只能對一個變量賦值,select可以多個B、set不能用于SQL查詢語句中,select可以C、select會產(chǎn)生結(jié)果集,效率比set
16、要低 3、局部變量的作用域:從聲明變量的地方開始到聲明變量的批處理或存儲過程的結(jié)尾。 4、局部變量的應用:(1)作為計數(shù)器計算循環(huán)執(zhí)行的次數(shù)或控制循環(huán)執(zhí)行的次數(shù);(2)保存數(shù)據(jù)值以控制流語句測試;(3)保存存儲過程要返回的數(shù)據(jù)值或函數(shù)返回值 二、全局變量1、全局變量應注意的地方:(1)全局變量不是由用戶的程序定義的,是在服務器級定義的;(2)用戶只能使用預先定義的全局變量;(3)引用全局變量時,必須以標識符“”開頭 2、常用的全局變量:connections 返回SQL Server 自上次啟動以來嘗試的連接數(shù),無論連接是成功還是失敗。error 返回執(zhí)
17、行上一個T-SQL語句的錯誤代碼。identity 返回上次插入的標識值。language 返回當前所用語言的名稱。max_connections 返回SQL Server實例允許同時進行的最大用戶連接數(shù),返回的數(shù)值不一定是當前配置的數(shù)值rowcount 返回受上一語句影響的行數(shù)。servername 返回運行SQL Server的本地服務器的名稱。servicename 返回SQL Server正在其下運行的注冊表項的名稱。(若當前實例為默認實例,則返回mssqlserver;若當前實例是命名實例,則該函數(shù)返回該實例名)total_errors 返回SQL Server自上次啟動之后所遇到的
18、此磁盤寫入錯誤數(shù)。trancount 返回當前連接的活動事務數(shù)。version 返回當前的SQL Server 版本、處理器體系結(jié)構(gòu)、生成日期和操作系統(tǒng) 三、輸出語句Print 語句的語法:Print 字符串 | 變量 | 函數(shù) | 字符串表達式Select 全局變量名 as 新命名的名稱,輸出的內(nèi)容區(qū)別:A、print是以文本形式輸出,select是以表格形式輸出B、print一次只能輸出一個值,select能夠輸出多個值C、當用print輸出多個值“連接”的結(jié)果,需要用convert函數(shù)轉(zhuǎn)換為字符串,而select不需要 注:print 語句輸出的都是文本字符串,并且每一個print語句的輸出都占據(jù)一行;Select 語句是以網(wǎng)格的形式輸出,可將輸出的內(nèi)容用“,”隔開,作為多列輸出,并使用as 或空格取列名 可通過圖形界面設(shè)置:在查詢窗口中單擊右鍵彈出快捷菜單à選擇“將結(jié)果保存到”à“以文本格式顯示結(jié)果” 四、T-SQL的控制流1、ifelse 語句語法:If(條件表達式)語句或語句塊Else語句或語句塊注:else 子句為可選,若要定義語句塊,則使用控制流關(guān)鍵字begin 和end 語法:If(條件表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷鏈物流溫控技術(shù)與冷鏈物流行業(yè)冷鏈倉儲管理研究報告
- 名班主任工作室班級文化建設(shè)職責
- 物業(yè)公司勞資專管員職責
- 污水處理廠項目申請報告及可行性研究報告
- 食品安全售后服務及培訓計劃
- 2020-2025年中國蒲公英種植行業(yè)發(fā)展前景預測及投資戰(zhàn)略研究報告
- 影視制作監(jiān)理巡視檢查計劃
- 2025學校教學內(nèi)容多元化計劃
- 二零二五年度離婚協(xié)議模板詳細規(guī)定孩子監(jiān)護與財產(chǎn)分配
- 2025版通信基站建設(shè)模板單項勞務分包合同
- 2025年當兵的心理測試題及答案
- 2025年社區(qū)工作者必考試題庫及答案
- 2025年中級管道工(四級)技能認定理論考試指導題庫(含答案)
- 頭端可彎曲負壓吸引鞘在輸尿管軟鏡碎石術(shù)處理長徑≤2cm上尿路結(jié)石中的應用研究
- 重大活動交通保障應急預案
- 凈水設(shè)備維保合同
- 績效考核量化指標
- 三國演義章回目錄范文
- 2025年結(jié)核病防治知識競賽題庫及答案(共117題)
- 鍋爐水處理作業(yè)人員(特種作業(yè))考試歷年真題及答案
- UL499標準中文版-2017電加熱裝置UL中文版標準
評論
0/150
提交評論