欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL Server使用T-SQL創(chuàng)建數(shù)據(jù)庫的操作指南

 更新時間:2024年12月13日 11:39:18   作者:碼到成龔  
?T-SQL全稱為transact structured query language,事務(wù)化的結(jié)構(gòu)查詢語言,是對標(biāo)準(zhǔn)SQL語言功能的擴(kuò)充,可以聲明變量,有流程控制語句,支持對流程的控制等,本文給大家介紹了SQL Server使用T-SQL創(chuàng)建數(shù)據(jù)庫的操作指南,需要的朋友可以參考下

我一開始接觸的是MySQL,之所以要學(xué)SQL server,還是因?yàn)镾QL server有MySQL所沒有的優(yōu)點(diǎn):

功能和特性上: 

SQL server的管理工具( SQL Server Management Studio)功能強(qiáng)大,適合企業(yè)級應(yīng)用。支持更多的數(shù)據(jù)類型,如 XML、JSON、地理空間數(shù)據(jù)等。
 數(shù)據(jù)類型上:

雖然MySQL 更加輕量,適合中小型應(yīng)用,也支持 JSON,但在某些數(shù)據(jù)類型的實(shí)現(xiàn)上可能不如 SQL Server 靈活。

SQL server還有很多其它的優(yōu)點(diǎn),等之后做項(xiàng)目的時候就可以更加直觀且清晰的感覺到,因此這里先不贅述。

一, 使用T-SQL創(chuàng)建數(shù)據(jù)庫

 T-SQL全稱為transact structured query language,事務(wù)化的結(jié)構(gòu)查詢語言。是對標(biāo)準(zhǔn)SQL語言功能的擴(kuò)充??梢月暶髯兞?,有流程控制語句,支持對流程的控制等。其中,事務(wù)的概念如下:

事務(wù)transaction是需要一次性完成的操作集合。要么全部執(zhí)行,要么全部不執(zhí)行。

1,數(shù)據(jù)庫的存儲結(jié)構(gòu) 

通常SQL server數(shù)據(jù)庫包含以下三類物理文件:

主要數(shù)據(jù)文件(也稱主數(shù)據(jù)文件)。擴(kuò)展名為.mdf (main data  file)。

在創(chuàng)建數(shù)據(jù)庫時生成,用來存儲數(shù)據(jù)庫的啟動信息,部分或全部數(shù)據(jù)及數(shù)據(jù)庫對象,是所有數(shù)據(jù)文件的起點(diǎn),包含指向其它數(shù)據(jù)文件的指針。每個數(shù)據(jù)庫只能有一個主要數(shù)據(jù)文件。

 次要數(shù)據(jù)文件。擴(kuò)展名為.ndf(個人ps:next data file)。

輔助主數(shù)據(jù)文件存儲數(shù)據(jù)及數(shù)據(jù)庫對象,可以在創(chuàng)建數(shù)據(jù)庫時創(chuàng)建,也可以在創(chuàng)建數(shù)據(jù)庫后添加。當(dāng)數(shù)據(jù)庫存儲的數(shù)據(jù)量巨大,超過了單個Windows文件的最大值或需要將重要數(shù)據(jù)與次要數(shù)據(jù)分開存儲以提高數(shù)據(jù)訪問速度和安全時,用戶可以自行創(chuàng)建一個或多個次要數(shù)據(jù)文件。一個數(shù)據(jù)庫可以沒有次要數(shù)據(jù)文件,也可以同時擁有多個次要數(shù)據(jù)文件。

日志文件。擴(kuò)展名為.ldf (log data  file)。

在創(chuàng)建數(shù)據(jù)庫時生成,用于記錄系統(tǒng)操作事件的記錄文件或文件集合,這些記錄可以作為恢復(fù)數(shù)據(jù)庫的依據(jù)。當(dāng)數(shù)據(jù)庫損壞時,可以使用事務(wù)日志恢復(fù)數(shù)據(jù)庫。每個數(shù)據(jù)庫至少擁有一個日志文件,而且允許擁有多個日志文件。

2,創(chuàng)建數(shù)據(jù)庫的語法結(jié)構(gòu) 

一開始腦海里面得有下面這4句: 

--1,創(chuàng)數(shù)據(jù)庫
CREATE DATABASE 數(shù)據(jù)庫名 
--2,創(chuàng)數(shù)據(jù)文件(主文件)
ON PRIMARY(),
FILEGROUP 文件組名()
--3,創(chuàng)日志文件
LOG ON()
--4,批處理分隔符,用來提交T-SQL語句(默認(rèn)提交次數(shù)為1,1可省略)
GO				 	

可以看到,在主數(shù)據(jù)文件部分包含一句:FILEGROUP 文件組名(),用來創(chuàng)建文件組。而文件組中存放的文件都是次要數(shù)據(jù)文件,以.ndf為文件名后綴。

批處理分隔符的設(shè)置如下,沒有什么特別的要求,一般默認(rèn)設(shè)置成“GO” 。

之后再往里面填充。這里從上至下,先填充主數(shù)據(jù)文件的部分。

ON PRIMARY(
NAME=主數(shù)據(jù)文件名,  -- 邏輯名
FILENAME='盤符\存儲路徑\主數(shù)據(jù)文件名.mdf',  -- 物理名
SIZE=主數(shù)據(jù)文件的初始大小,
MAXSIZE=主數(shù)據(jù)文件的最大容量,
FILEGROWTH=主數(shù)據(jù)文件自動增長的方式(可以是百分比也可以是具體的內(nèi)存大?。?
)

如果要求創(chuàng)建文件組的話,就需要在創(chuàng)建好主數(shù)據(jù)文件的結(jié)束括號后面加上逗號,再寫上創(chuàng)文件組的語句:創(chuàng)建文件組和創(chuàng)建主數(shù)據(jù)文件類似,如下

,FILEGROUP 文件組名(
NAME=次要數(shù)據(jù)文件名,
FILENAME='盤符\存儲路徑\次要數(shù)據(jù)文件名.ndf',
SIZE=次要數(shù)據(jù)文件的初始大小,
MAXSIZE=次要數(shù)據(jù)文件的最大容量,
FILEGROWTH=次要數(shù)據(jù)文件自動增長的方式(可以是百分比也可以是具體的內(nèi)存大?。?
)

日志文件的創(chuàng)建也一樣:

LOG ON(
NAME=日志文件名,
FILENAME='盤符\存儲路徑\日志文件名.ldf',
SIZE=日志文件的初始大小,
MAXSIZE=日志文件的最大容量,
FILEGROWTH=日志文件自動增長的方式(可以是百分比也可以是具體的內(nèi)存大?。?
)

知道該怎么創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)庫的3類物理文件之后,上題目:

1)使用T-SQL創(chuàng)建學(xué)生成績管理數(shù)據(jù)庫  

  1.  數(shù)據(jù)庫名:StuScore
  2. 主數(shù)據(jù)文件:StuScore_data,存儲位置'盤符\...\STUSCOREDATA',初始大小10MB,按照10%自動增長,最大容量200MB
  3. 日志文件:StuScore_log,存儲位置'盤符\...\STUSCORELOG',初始大小3MB,自動增長方式為每次增長1MB,最大容量60MB

首先電腦上得事先創(chuàng)建好文件夾 STUSCOREDATA和STUSCORELOG。

之后按照題目要求編寫語句: 

--1,創(chuàng)數(shù)據(jù)庫
CREATE DATABASE StuScore 
--2,創(chuàng)數(shù)據(jù)文件(主文件)
ON PRIMARY(
NAME=StuScore_data,
FILENAME='D:\mySqlserver\STUSCOREDATA\StuScore_data.mdf',
SIZE=10MB,
MAXSIZE=200MB,
FILEGROWTH=5%)
--3,創(chuàng)日志文件
LOG ON(
NAME=StuScore_log,
FILENAME='D:\mySqlserver\STUSCORELOG\StuScore_log.ldf',
SIZE=3MB,
MAXSIZE=60MB,
FILEGROWTH=1MB)
--4,批處理分隔符,用來提交T-SQL語句(默認(rèn)提交次數(shù)為1,1可省略)
GO				 	

創(chuàng)建的主數(shù)據(jù)文件和日志文件如下:

二,使用T-SQL修改數(shù)據(jù)庫

1,修改數(shù)據(jù)庫的語法結(jié)構(gòu)

通過ALTER DATABASE語句,可以進(jìn)行如下操作:

  • 更改數(shù)據(jù)庫名稱,不能更改數(shù)據(jù)庫的存儲位置。
  • 添加,刪除數(shù)據(jù)庫文件及文件組,
  • 更改文件或文件組的屬性,如名稱,容量等。

 基本語法如下:

ALTER DATABASE 數(shù)據(jù)庫名
-- 重命名數(shù)據(jù)庫
MODIFY NAME<新的數(shù)據(jù)庫名>
-- 添加/修改數(shù)據(jù)文件
ADD/MODIFY FILE<filespec>   
-- 刪除指定文件
REMOVE FILE<文件邏輯名>
-- 添加/修改/刪除文件組
ADD/MODIFY/REMOVE FILEGROUP<文件組名>
-- 添加日志文件
ADD LOG FILE<filespec>

其中,filespec指代如下:

<filespec> ::=
NAME=文件邏輯名,
FILENAME='盤符\存儲路徑\文件邏輯名.mdf/ndf/ldf',  -- 文件的物理名
SIZE=文件的初始大小,
MAXSIZE=文件的最大容量,
FILEGROWTH=文件自動增長的方式(可以是百分比也可以是具體的內(nèi)存大?。?/pre>

1)修改學(xué)生成績管理數(shù)據(jù)庫

①增加文件組及次要數(shù)據(jù)文件 

 要求:

修改數(shù)據(jù)庫StuScore增加次要文件StuScore_data2,存儲位置'盤符\...\STUSCOREDATA',初始大小20MB,最大容量2GB,按照10%自動增長,放到StuScoreGroup文件組中。

 之后按照要求編寫語句:

ALTER DATABASE StuScore
ADD FILEGROUP StuScoreGroup
ALTER DATABASE StuScore
ADD FILE(
NAME=StuScore_data2,
FILENAME='D:\mySqlserver\STUSCOREDATA\StuScore_data2.ndf',
SIZE=20MB,
MAXSIZE=2GB,
FILEGROWTH=10%
) TO FILEGROUP StuScoreGroup

文件組StuScoreGroup中的次要數(shù)據(jù)文件StuScore_data2.ndf在磁盤上的存儲位置??: 

 ②增加日志文件

 要求:

日志文件名:StuScore_log2,存儲位置'盤符\...\STUSCORELOG',初始大小10MB,不限制最大容量(UNLIMITED,不限制),按照1MB自動增長。

 按照要求編寫語句:

ALTER DATABASE StuScore
ADD LOG FILE(
NAME=StuScore_log2,
FILENAME='D:\mySqlserver\STUSCORELOG\StuScore_log2.ldf',
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=1MB
)

 ③修改主數(shù)據(jù)文件最大容量

要求:將主數(shù)據(jù)文件StuScore_data的最大容量設(shè)置為500MB。

按照要求編寫語句:

ALTER DATABASE StuScore
MODIFY FILE(
NAME=StuScore_data,
MAXSIZE=500MB
)

如下,修改成功 

2)使用T-SQL備份數(shù)據(jù)庫

BACKUP DATABASE StuScore
TO DISK = 'D:\mySqlserver\Backups\StuScore.bak'
WITH FORMAT,
     MEDIANAME = 'StuScoreBackup',
     NAME = 'Full Backup of StuScore';

 3)使用T-SQL刪除數(shù)據(jù)庫

DROP DATABASE StuScore 

無法刪除數(shù)據(jù)庫 "xxx",因?yàn)樵摂?shù)據(jù)庫當(dāng)前正在使用

 如果點(diǎn)擊執(zhí)行之后提示“無法刪除數(shù)據(jù)庫 "xxx",因?yàn)樵摂?shù)據(jù)庫當(dāng)前正在使用。”,先簡單排除:

  • 是否用該數(shù)據(jù)庫來新建查詢。
  • 建議退出關(guān)閉當(dāng)前的查詢,重新開一個查詢。

我就是用上面兩種方法刪除數(shù)據(jù)庫StuScore,如果使用上述兩種方法還是無法刪除數(shù)據(jù)庫,接下來就需要將數(shù)據(jù)庫設(shè)置為單用戶模式,斷開所有連接,并刪除數(shù)據(jù)庫

ALTER DATABASE 需要刪除的數(shù)據(jù)庫名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE 要刪除的數(shù)據(jù)庫名;

4)重新加載數(shù)據(jù)庫

RESTORE DATABASE StuScore
FROM DISK = 'D:\mySqlserver\Backups\StuScore.bak'
WITH NORECOVERY;  -- 多個備份文件還原
SELECT NAME FROM sys.databases 

如果兩三分鐘后,數(shù)據(jù)庫依舊顯示“正在還原”,可以輸入如下語句,完成還原操作:

RESTORE DATABASE StuScore WITH RECOVERY;

之后到磁盤下,可以看到相關(guān)的數(shù)據(jù)文件和日志文件

以上就是SQL Server使用T-SQL創(chuàng)建數(shù)據(jù)庫的操作指南的詳細(xì)內(nèi)容,更多關(guān)于SQL Server T-SQL創(chuàng)建數(shù)據(jù)庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SQLServer 管理常用SQL語句

    SQLServer 管理常用SQL語句

    SQL Server管理常用SQL語句,方便快速的解決問題。
    2009-08-08
  • sql數(shù)據(jù)庫批量處理腳本

    sql數(shù)據(jù)庫批量處理腳本

    sql數(shù)據(jù)庫批量處理腳本,需要的朋友可以參考下。
    2011-10-10
  • 必須會的SQL語句(八) 數(shù)據(jù)庫的完整性約束

    必須會的SQL語句(八) 數(shù)據(jù)庫的完整性約束

    這篇文章主要介紹了sqlserver中數(shù)據(jù)庫的完整性約束使用方法,需要的朋友可以參考下
    2015-01-01
  • SQL?Server中row_number函數(shù)用法入門介紹

    SQL?Server中row_number函數(shù)用法入門介紹

    SQL?ROW_NUMBER函數(shù)是臨時值序列的非持久生成,并且在執(zhí)行查詢時會動態(tài)計(jì)算該函數(shù),下面這篇文章主要給大家介紹了關(guān)于SQL?Server中row_number函數(shù)用法的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • SQL Server存儲過程(數(shù)據(jù)庫引擎)使用詳解

    SQL Server存儲過程(數(shù)據(jù)庫引擎)使用詳解

    存儲過程(Stored Procedure)是預(yù)編譯SQL語句集合,這些語句存儲在一個名稱(存儲過程的名稱)下并作為單元來處理,存儲過程代替了傳統(tǒng)的逐條執(zhí)行SQL語句的方式,本文小編給大家介紹了SQL Server存儲過程(數(shù)據(jù)庫引擎)使用,需要的朋友可以參考下
    2023-11-11
  • SQL Server利用sp_spaceused如何查看表記錄存在不準(zhǔn)確的情況

    SQL Server利用sp_spaceused如何查看表記錄存在不準(zhǔn)確的情況

    這篇文章主要給大家介紹了關(guān)于SQL Server利用sp_spaceused如何查看表記錄存在不準(zhǔn)確情況的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳解安裝sql2012出現(xiàn)錯誤could not open key...解決辦法

    詳解安裝sql2012出現(xiàn)錯誤could not open key...解決辦法

    這篇文章主要介紹了詳解安裝sql2012出現(xiàn)錯誤could not open key...解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • SQL SERVER 的SQL語句優(yōu)化方式小結(jié)

    SQL SERVER 的SQL語句優(yōu)化方式小結(jié)

    千辛萬苦,終于把數(shù)據(jù)庫服務(wù)器的CPU從超過50%(開5個程序線程)乃至100%(開10個程序線程)降低到了5%。摸索到了一些門道,總結(jié)一下
    2009-08-08
  • SQLite如何修改字段類型

    SQLite如何修改字段類型

    這篇文章主要介紹了SQLite修改字段類型的方法,SQLite不支持直接修改字段類型,如需要修改字段類型,本文給大家分享相關(guān)方法處理,需要的朋友可以參考下
    2024-07-07
  • sql server中錯誤日志errorlog的深入講解

    sql server中錯誤日志errorlog的深入講解

    很多時候診斷SQLSERVER問題都需要看SQLSERVER的錯誤日志,所以下面這篇文章主要給大家介紹了關(guān)于sql server中錯誤日志errorlog的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-10-10

最新評論