創(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),請進行舉報或認領(lǐng)

文檔簡介

1、 創(chuàng)建數(shù)據(jù)庫的一般步驟 : (一)、切換系統(tǒng)數(shù)據(jù)庫 use master go (二)、判斷數(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ù)庫名稱) 0 drop database 數(shù)據(jù)庫名稱 go 注:sys、sysdatabases指的就是一個系統(tǒng)視圖 、if db_id(數(shù)據(jù)庫名稱)is not null

2、drop database 數(shù)據(jù)庫名稱 注意:db_id :就是SQL Server中的一個系統(tǒng)函數(shù),用于返回數(shù)據(jù)庫標識(id)號 db_id 函數(shù)的使用語法 : db_id (數(shù)據(jù)庫名稱 )若省略數(shù)據(jù)庫名稱則返回當前數(shù)據(jù)庫的i d ,若查詢不到 ,則返回 null (三) 、創(chuàng)建文件夾的兩種方法: 外圍應(yīng)用配置器“的情況 】 1 (1) 、 啟用外圍配置【此方法適用于找不到“ sql server exec sp_configure show advanced options reconfigure exec sp_configure xp_cmdshell , 1 reconfigure

3、go - 調(diào)用 dos 命令創(chuàng)建文件夾 exec xp_cmdshell md D:sqlS2_sqllibrary , no_output go 注意 :xp_cmdshell: exec xp_cmdshell md 擴展存儲過程(函數(shù)),用于執(zhí)行一個 DOS命令 或 mkdir D:StuDB (2) 、找到 ”配置工具 ”- 打開 ”sql server外圍應(yīng)用配置器 ”- 進入 ”功能的外圍應(yīng)用配置 器”- 將 ”啟用 xp_cmdshell ” 打上勾 - 點擊應(yīng)用即可 (四)、創(chuàng)建數(shù)據(jù)庫的語法 create database 數(shù)據(jù)庫名稱 on primary : ( name=邏

4、輯名稱(管理員用的),、 mdf 絕對路徑 (物理名稱 ), size=初始大?。╩b), maxsize=限制可增長的最大大小 (mb), 自動增長量 (mb / %) ) Log on 的語法 ( name=邏輯名稱(管理員用的),、Idf 絕對路徑 (物理名稱 ), size=初始大小(mb), maxsize=限制可增長的最大大小 (mb), 自動增長量 (mb / %) ) Go 注:創(chuàng)建多個次要文件時 ,需用 ”,”隔開 , 如: Create database 數(shù)據(jù)庫名 On primary ( Name=、 mdf (同上) ),a(命名)( Name=、 ndf 、(同上)

5、) 。 Log on ( (同上 ) ),( (同上 ) ) 刪除數(shù)據(jù)庫 ,數(shù)據(jù)庫名稱 n) drop database 數(shù)據(jù)庫名稱 (數(shù)據(jù)庫名稱 1,。 創(chuàng)建表的一般步驟 (一)、切換所創(chuàng)建的數(shù)據(jù)庫 Use 數(shù)據(jù)庫名 Go (二)、判斷該數(shù)據(jù)庫就是否已存在該表 檢驗的方法 : (1)、 if exists (select * from sysobjects where name= 表名 and xtype=U) drop table 表名 go (2)、 if (select count(*) from sys objects where name= 表名 and xtype= U) 0 D

6、rop table 表名 Go 注:每個數(shù)據(jù)庫都有一個系統(tǒng)視圖sysobjects,記錄了所在數(shù)據(jù)庫的表、約束、視圖、存儲過程、 觸發(fā)器等對象 name:對象名稱 xtype: 類型 S:system table 系統(tǒng)表 U:user table 用戶表 PK:primary key 主鍵約束 CK:check 檢查約束 FK:foreign key 外鍵約束 UQ:unique 唯一約束 SP:stored procedure 存儲過程 TR:trigger 觸發(fā)器 (3)、 if object_ID( 對象名 , 對象類型 ) is not null Drop table 表名 Go 注:

7、object_ID:系統(tǒng)函數(shù),用于返回數(shù)據(jù)庫對象標識號 對象名 :可為表名、約束名、存儲過程名、視圖名。 對象類型:U(用戶自定義類型)、V(視圖卜C(check約束)。 (三)、創(chuàng)建表 create table 表名 ( 列名 數(shù)據(jù)類型 約束 (非空、標識列 ), 列名 數(shù)據(jù)類型 約束 , 、 ) Go 注:在建表時的約束一般只規(guī)定非空、標識 identity( 標識列 ) 的使用語法 : identity(seed,increment) seed : 標識種子或起始值 ; increment : 遞增量 添加約束語法 : Alter table 表名 Add constraint 約束名

8、約束類型 具體的約束內(nèi)容 , constraint 約束名 約束類型 具體的約束內(nèi)容 , 。 Go 兩個較為特殊約束 : 默認: alter table 表名 add constraint 約束名稱 default( 默認值 ) for 列名 外鍵 : alter table 表名 add constraint 約束名稱 foreign key( 列名 ) references 主表名 (引用的列名 ) 約束名的取名則 : 主鍵 (Primary Key) 約束 :PK_ 約束字段 唯一 (Unique Key) 約束 :UK_ 約束字段 默認(Default Key)約束:DK_約束字段 檢

9、查(Check Key)約束:CK_約束字段 外鍵 (Foreign Key) 約束 :FK_ 約束字段 刪除約束 Alter table 表名 Drop constraint 約束名 添加列的語法 : Alter table 表名 Add 字段 1 數(shù)據(jù)類型 字段特征 字段 2 數(shù)據(jù)類型 字段特征 default 約束 注: 也可以向現(xiàn)有的表添加列 ,但相應(yīng)的列必須允許為null 值或就是該列創(chuàng)建了 刪除列語法 : Alter table 表名 Drop column 字段 修改列 (列名、數(shù)據(jù)類型、長度、精度、小數(shù)位數(shù)、可空性)語法 : Alter table 表名 Alter colum

10、n 字段 數(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ù)類型的當前限定或非限定名稱 New_ name:指定對象的新名稱 Object_type:可選參數(shù),表要重命名的對象的類型,默認值為null 刪除表 : Use 當前數(shù)據(jù)庫 Go Drop table 表名 Go 第一層驗證

11、 : 登錄名 : SQL 驗證:自定義名稱 第三層驗證 :使用戶針對表具備某種權(quán)限 Grant 權(quán)限名稱 on 對象(表) to 用戶名 Revoke 權(quán)限名稱 on 對象(表) from 用戶名 Deny 權(quán)限名稱 on 對象(表) from 用戶名 利用存儲過程完成同樣目的 : 第一層 : 創(chuàng)建登錄名 Windows 登陸賬戶 (一)、創(chuàng)建 Windows 登錄賬戶的兩種方法 : (1)、 Exec sp_grantlogin 計算機名用戶名 (2)、 create login 登錄名稱 with password= 登錄密碼 (二)、修改登陸賬戶 Alter login 登錄名稱 wit

12、h 或Name=新登錄名稱 注: :可為password=新密碼” (三)、刪除登陸賬戶 Drop login 登錄名稱 SQL 登陸賬戶 (一 )、創(chuàng)建數(shù)據(jù)庫用戶的兩種方法: (1)、 Exec sp_addlogin 用戶名 密, 碼 (2)、 create 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ù)

13、, 據(jù)庫用戶名 (數(shù)據(jù)庫用戶名為可選參數(shù),默認為登錄 名,即數(shù)據(jù)庫用戶默認與登陸賬戶同名) 授權(quán): (一)、權(quán)限的種類 1、數(shù)據(jù)對象權(quán)限 (DML) 注:DML:數(shù)據(jù)操作語言,即 select、update、insert、delete、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)限

14、2、收回(revoke):對用戶收回(即刪除)已授予的權(quán)限 3、禁用 (deny): 禁止用戶擁有某種權(quán)限 grant | revoke | deny 權(quán)限 on 表名字段 to 數(shù)據(jù)庫用戶 如: Grant 權(quán)限 on 表名 to 用戶名 當分配所有權(quán)限給某個用戶時 ,可以使用 all 語法: Grant all on 表名 to 用戶名 T-SQL 編程與高級查詢 一、局部變量 1、局部變量 :以“ ”開頭 定義局部變量的語法 : Declare 局部變量名 數(shù)據(jù)類型 ,局部變量名 數(shù)據(jù)類型。 (1)set 變量名 = 值 值:可為一個常量、任何有效的表達式、一個返回單值的查詢語句 (2)

15、select 變量名 = 值 區(qū)別: A、 set 次只能對一個變量賦值select可以多個 B、set不能用于SQL查詢語句中select可以 C、select 會產(chǎn)生結(jié)果集 ,效率比 set 要低 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ù)先定義的全局變

16、量; (3) 引用全局變量時 必須以標識符“ ”開頭 2、常用的全局變量 : connections 返回 SQL Server 自上次啟動以來嘗試的連接數(shù)無論連接就是成功還就是 失敗。 error 返回執(zhí)行上一個 T-SQL 語句的錯誤代碼。 identity 返回上次插入的標識值。 language 返回當前所用語言的名稱。 max_connections 返回 SQL Server 實例允許同時進行的最大用戶連接數(shù) 返回的數(shù)值不 一定就是當前配置的數(shù)值 rowcount 返回受上一語句影響的行數(shù)。 servername 返回運行 SQL Server 的本地服務(wù)器的名稱。 service

17、name 返回 SQL Server 正在其下運行的注冊表項的名稱。 (若當前實例為默認實例,則返回mssqlserver;若當前實例就是命名實例,則 該函數(shù)返回該實例名 ) total_errors 返回 SQL Server 自上次啟動之后所遇到的此磁盤寫入錯誤數(shù)。 trancount 返回當前連接的活動事務(wù)數(shù)。 version 返回當前的 SQL Server 版本、處理器體系結(jié)構(gòu)、生成日期與操作系統(tǒng) 三、輸出語句 Print 語句的語法 : Print 字符串 | 變量 | 函數(shù) | 字符串表達式 Select 全局變量名 as 新命名的名稱 ,輸出的內(nèi)容 區(qū)別: A、print 就是

18、以文本形式輸出 ,select 就是以表格形式輸出 B、print 次只能輸出一個值select能夠輸出多個值 C、 當用print輸出多個值連接”的結(jié)果,需要用convert函數(shù)轉(zhuǎn)換為字符串,而select不需要 注:print語句輸出的都就是文本字符串,并且每一個print語句的輸出都占據(jù)一行; Select 語句就是以網(wǎng)格的形式輸出 ,可將輸出的內(nèi)容用“ ,”隔開 ,作為多列輸出 ,并使用 as 或 空格取列名 可通過圖形界面設(shè)置 : 在查詢窗口中單擊右鍵彈出快捷菜單a選擇“將結(jié)果保存到”a “以文本格式顯示結(jié)果” 四、 T-SQL 的控制流 1、ifelse語句 語法: If(條件表達式) 語句或語句塊 Else 語句或語句塊 注:else子句為可選, 若要定義語句塊 ,則使用控制流關(guān)鍵字 begin 與 end 語法: If(條件表達式) Begin 語句 End

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論