創(chuàng)建數(shù)據(jù)庫的一般步驟_第1頁
創(chuàng)建數(shù)據(jù)庫的一般步驟_第2頁
創(chuàng)建數(shù)據(jù)庫的一般步驟_第3頁
創(chuàng)建數(shù)據(jù)庫的一般步驟_第4頁
創(chuàng)建數(shù)據(jù)庫的一般步驟_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rè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ù)庫標(biāo)識(id)號db_id函數(shù)的使用語法:db_id ('數(shù)據(jù)庫名稱')若省略數(shù)據(jù)庫名稱則返回當(dāng)前數(shù)據(jù)庫的id,若查詢不到,則返回null  (三)、創(chuàng)建文件夾的兩種方法:(1)、啟用外圍配置【此方法適用于找不到“sql server 外圍應(yīng)用配置器“的情況】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 外圍應(yīng)用配置器”->進(jìn)入”功能的

4、外圍應(yīng)用配置器”->將”啟用xp_cmdshell”打上勾->點擊應(yīng)用即可(四)、創(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ù)庫對象標(biāo)識號對象名:可為表名、約束名、存儲過程名、視圖名。對象類型:U(用戶自定義類型)、V(視圖)、C(check約束)。 (三)、創(chuàng)建表create table 表名(列名 數(shù)據(jù)類型 約束(非空、標(biāo)識列),列名 數(shù)據(jù)類型 約束,.)Go注:在建

8、表時的約束一般只規(guī)定非空、標(biāo)識identity(標(biāo)識列) 的使用語法:identity(seed,increment)seed : 標(biāo)識種子或起始值;increment : 遞增量 添加約束語法:Alter table 表名Add constraint 約束名 約束類型 具體的約束內(nèi)容,constraint 約束名 約束類型 具體的約束內(nèi)容,。Go 兩個較為特殊約束:默認(rèn):alter table 表名add constraint 約束名稱 default(默認(rèn)值) for 列名 外鍵:alter table 表名add constraint 約束名稱 foreig

9、n key(列名) references 主表名(引用的列名) 約束名的取名則:主鍵(Primary Key)約束:PK_約束字段唯一(Unique Key)約束:UK_約束字段默認(rèn)(Default Key)約束:DK_約束字段檢查(Check Key)約束:CK_約束字段外鍵(Foreign Key)約束:FK_約束字段 刪除約束Alter table 表名Drop constraint 約束名添加列的語法:Alter table 表名Add 字段1 數(shù)據(jù)類型 字段特征字段2 數(shù)據(jù)類型 字段特征注:也可以向現(xiàn)有的表添加列,但相應(yīng)的列必須允許為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、的當(dāng)前限定或非限定名稱New_name:指定對象的新名稱Object_type:可選參數(shù),表要重命名的對象的類型,默認(rèn)值為null  刪除表:Use 當(dāng)前數(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ù),默認(rèn)為登錄名,即數(shù)據(jù)庫用戶默認(rèn)和登陸賬戶同名)  授權(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 用戶名 當(dāng)分配所有權(quán)限給某個用戶時,可以使用all語法:Grant all on 表名 to 用戶名    T-SQL編程與高級查詢一、局部變量1、局部變量:以“”開頭定義局部變量的語法:Declare 局部變量名 數(shù)據(jù)類型,局部變量名 數(shù)據(jù)類型。(1)set 變量名 = 值值:可為一個常量、任何有效的表達(dá)式、一個返回單值的查詢語句 (2)select 變量名 = 值區(qū)別:A、set一次只能對一個變量賦值,select可以多個B、set不能用于SQL查詢語句中,select可以C、select會產(chǎn)生結(jié)果集,效率比set

16、要低 3、局部變量的作用域:從聲明變量的地方開始到聲明變量的批處理或存儲過程的結(jié)尾。 4、局部變量的應(yīng)用:(1)作為計數(shù)器計算循環(huán)執(zhí)行的次數(shù)或控制循環(huán)執(zhí)行的次數(shù);(2)保存數(shù)據(jù)值以控制流語句測試;(3)保存存儲過程要返回的數(shù)據(jù)值或函數(shù)返回值 二、全局變量1、全局變量應(yīng)注意的地方:(1)全局變量不是由用戶的程序定義的,是在服務(wù)器級定義的;(2)用戶只能使用預(yù)先定義的全局變量;(3)引用全局變量時,必須以標(biāo)識符“”開頭 2、常用的全局變量:connections 返回SQL Server 自上次啟動以來嘗試的連接數(shù),無論連接是成功還是失敗。error 返回執(zhí)

17、行上一個T-SQL語句的錯誤代碼。identity 返回上次插入的標(biāo)識值。language 返回當(dāng)前所用語言的名稱。max_connections 返回SQL Server實例允許同時進(jìn)行的最大用戶連接數(shù),返回的數(shù)值不一定是當(dāng)前配置的數(shù)值rowcount 返回受上一語句影響的行數(shù)。servername 返回運行SQL Server的本地服務(wù)器的名稱。servicename 返回SQL Server正在其下運行的注冊表項的名稱。(若當(dāng)前實例為默認(rèn)實例,則返回mssqlserver;若當(dāng)前實例是命名實例,則該函數(shù)返回該實例名)total_errors 返回SQL Server自上次啟動之后所遇到的

18、此磁盤寫入錯誤數(shù)。trancount 返回當(dāng)前連接的活動事務(wù)數(shù)。version 返回當(dāng)前的SQL Server 版本、處理器體系結(jié)構(gòu)、生成日期和操作系統(tǒng) 三、輸出語句Print 語句的語法:Print 字符串 | 變量 | 函數(shù) | 字符串表達(dá)式Select 全局變量名 as 新命名的名稱,輸出的內(nèi)容區(qū)別:A、print是以文本形式輸出,select是以表格形式輸出B、print一次只能輸出一個值,select能夠輸出多個值C、當(dāng)用print輸出多個值“連接”的結(jié)果,需要用convert函數(shù)轉(zhuǎn)換為字符串,而select不需要 注:print 語句輸出的都是文本字符串,并且每一個print語句的輸出都占據(jù)一行;Select 語句是以網(wǎng)格的形式輸出,可將輸出的內(nèi)容用“,”隔開,作為多列輸出,并使用as 或空格取列名 可通過圖形界面設(shè)置:在查詢窗口中單擊右鍵彈出快捷菜單à選擇“將結(jié)果保存到”à“以文本格式顯示結(jié)果” 四、T-SQL的控制流1、ifelse 語句語法:If(條件表達(dá)式)語句或語句塊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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論