創建數據庫的一般步驟_第1頁
創建數據庫的一般步驟_第2頁
創建數據庫的一般步驟_第3頁
創建數據庫的一般步驟_第4頁
創建數據庫的一般步驟_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、創建數據庫的一般步驟: (一)、切換系統數據庫use mastergo (二)、判斷數據庫是否已有的同名數據庫并將其刪除(1)、if exists (select * from sys.sysdatabases where name='數據庫名稱')drop database 數據庫名稱go (2)、if (select count(*) from sys.sysdatabases where name='數據庫名稱') > 0drop database 數據庫名稱go 注:sys.sysdatabases :指的是

2、一個系統視圖 (3)、if db_id('數據庫名稱') is not nulldrop database 數據庫名稱 注意:db_id : 是SQL Server中的一個系統函數,用于返回數據庫標識(id)號db_id函數的使用語法:db_id ('數據庫名稱')若省略數據庫名稱則返回當前數據庫的id,若查詢不到,則返回null  (三)、創建文件夾的兩種方法:(1)、啟用外圍配置【此方法適用于找不到“sql server 外圍應用配置器“的情況】exec sp_configure 'show advanced

3、options',1reconfigureexec sp_configure 'xp_cmdshell',1reconfigurego -調用dos命令創建文件夾exec xp_cmdshell 'md D:sqlS2_sqllibrary',no_outputgo 注意:xp_cmdshell:擴展存儲過程(函數),用于執行一個DOS命令exec xp_cmdshell 'md或mkdir D:StuDB' (2)、找到”配置工具”->打開”sql server 外圍應用配置器”->進入”功能的

4、外圍應用配置器”->將”啟用xp_cmdshell”打上勾->點擊應用即可(四)、創建數據庫的語法create database 數據庫名稱on primary <數據文件參數>:( name=邏輯名稱(管理員用的),.mdf filename=絕對路徑(物理名稱), size=初始大小(mb), maxsize=限制可增長的最大大小(mb), filegrowth=自動增長量(mb / %)Log on<日志文件參數>的語法( name=邏輯名稱(管理員用的),ldf filename=絕對路徑(物理名稱), size=初始大小(mb), maxsize=

5、限制可增長的最大大小(mb), filegrowth=自動增長量(mb / %)Go 注:創建多個次要文件時,需用”,”隔開,如:Create database 數據庫名On primary(Name=.mdf(同上),filegroup a(命名)(Name=.ndf. (同上))。Log on(同上),filegroup((同上)) 刪除數據庫drop database 數據庫名稱(數據庫名稱1,。,數據庫名稱n) 創建表的一般步驟:(一)、切換所創建的數據庫Use 數據庫名Go (二)、判斷該數據庫是否已存在該表檢驗的方法:(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 注:每個數據庫都有一個系統視圖sysobjects,記錄了所在數據庫的表、約束、視圖、存儲過程、觸發器等對象name:對象名稱xtype:類型S:system table系統表U:user table用戶表PK:prima

7、ry key主鍵約束CK:check 檢查約束FK:foreign key 外鍵約束UQ:unique 唯一約束SP:stored procedure 存儲過程TR:trigger 觸發器(3)、if object_ID(對象名,對象類型) is not nullDrop table 表名Go 注:object_ID:系統函數,用于返回數據庫對象標識號對象名:可為表名、約束名、存儲過程名、視圖名。對象類型:U(用戶自定義類型)、V(視圖)、C(check約束)。 (三)、創建表create table 表名(列名 數據類型 約束(非空、標識列),列名 數據類型 約束,.)Go注:在建

8、表時的約束一般只規定非空、標識identity(標識列) 的使用語法:identity(seed,increment)seed : 標識種子或起始值;increment : 遞增量 添加約束語法:Alter table 表名Add constraint 約束名 約束類型 具體的約束內容,constraint 約束名 約束類型 具體的約束內容,。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 數據類型 字段特征字段2 數據類型 字段特征注:也可以向現有的表添加列,但相應的列必須允許為null值或是該列創建了def

10、ault約束 刪除列語法:Alter table 表名Drop column 字段 修改列(列名、數據類型、長度、精度、小數位數、可空性)語法:Alter table 表名Alter column 字段 數據類型 null | not null (1)、修改列的可空性Alter table 表名Alter column 字段 數據類型 null (2)、修改列的名稱Sp_rename object_name,new_name,object_type注:Sp_rename : 修改列的名稱(表、索引、列、數據庫名)Object_name:用戶對象或數據類型

11、的當前限定或非限定名稱New_name:指定對象的新名稱Object_type:可選參數,表要重命名的對象的類型,默認值為null  刪除表:Use 當前數據庫Go Drop table 表名Go 第一層驗證:登錄名:SQL驗證:自定義名稱 第三層驗證:使用戶針對表具備某種權限Grant 權限名稱 on 對象(表) to 用戶名Revoke權限名稱 on 對象(表) from 用戶名Deny權限名稱 on 對象(表) from 用戶名 利用存儲過程完成同樣目的:第一層:創建登錄名Windows登陸賬戶(一)、創建Windows登錄賬戶

12、的兩種方法:(1)、Exec sp_grantlogin 計算機名用戶名 (2)、create login 登錄名稱 with password=登錄密碼 (二)、修改登陸賬戶Alter login 登錄名稱 with <set_option>  注:<set_option> :可為“password=新密碼 ” 或“Name=新登錄名稱” (三)、刪除登陸賬戶Drop login 登錄名稱 SQL登陸賬戶(一)、創建數據庫用戶的兩種方法:(1)、Exec sp_addlogin 用戶名,密碼 (2)、crea

13、te user 用戶名稱for | from login 登錄名 (二)、修改數據庫用戶Alter user 用戶名稱With name=用戶新名稱 (三)、刪除數據庫用戶Drop user 用戶名稱 注:Exec:表調用存儲過程,類似Java語言的函數 創建數據庫用戶名Exec sp_grantdbaccess 登陸賬戶名,數據庫用戶名(數據庫用戶名為可選參數,默認為登錄名,即數據庫用戶默認和登陸賬戶同名)  授權:(一)、權限的種類1、數據對象權限(DML)注:DML:數據操作語言,即select、update、insert、de

14、lete、execute 2、語句權限(DDL)注:DDL:數據定義語言,即create database(創建數據庫)、create table(創建表)、create view(創建視圖)、create procedure(創建存儲過程)、backup database(備份數據庫) 3、隱含權限(二)、用戶權限管理1、授予(grant):對用戶授予某種權限2、收回(revoke):對用戶收回(即刪除)已授予的權限3、禁用(deny):禁止用戶擁有某種權限 grant | revoke | deny 權限on 表名字段 to 數據庫用戶如:Grant 權限 o

15、n 表名 to 用戶名 當分配所有權限給某個用戶時,可以使用all語法:Grant all on 表名 to 用戶名    T-SQL編程與高級查詢一、局部變量1、局部變量:以“”開頭定義局部變量的語法:Declare 局部變量名 數據類型,局部變量名 數據類型。(1)set 變量名 = 值值:可為一個常量、任何有效的表達式、一個返回單值的查詢語句 (2)select 變量名 = 值區別:A、set一次只能對一個變量賦值,select可以多個B、set不能用于SQL查詢語句中,select可以C、select會產生結果集,效率比set

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

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

18、此磁盤寫入錯誤數。trancount 返回當前連接的活動事務數。version 返回當前的SQL Server 版本、處理器體系結構、生成日期和操作系統 三、輸出語句Print 語句的語法:Print 字符串 | 變量 | 函數 | 字符串表達式Select 全局變量名 as 新命名的名稱,輸出的內容區別:A、print是以文本形式輸出,select是以表格形式輸出B、print一次只能輸出一個值,select能夠輸出多個值C、當用print輸出多個值“連接”的結果,需要用convert函數轉換為字符串,而select不需要 注:print 語句輸出的都是文本字符串,并且每一個print語句的輸出都占據一行;Select 語句是以網格的形式輸出,可將輸出的內容用“,”隔開,作為多列輸出,并使用as 或空格取列名 可通過圖形界面設置:在查詢窗口中單擊右鍵彈出快捷菜單à選擇“將結果保存到”à“以文本格式顯示結果” 四、T-SQL的控制流1、ifelse 語句語法:If(條件表達式)語句或語句塊Else語句或語句塊注:else 子句為可選,若要定義語句塊,則使用控制流關鍵字begin 和end 語法:If(條件表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論