亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

功能和特性上: 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一開(kāi)始腦海里面得有下面這4句: 

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

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

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

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

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

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

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

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

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

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

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

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

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

之后按照題目要求編寫(xiě)語(yǔ)句: 

--1,創(chuàng)數(shù)據(jù)庫(kù)
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,批處理分隔符,用來(lái)提交T-SQL語(yǔ)句(默認(rèn)提交次數(shù)為1,1可省略)
GO				 	

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

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

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

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

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

 基本語(yǔ)法如下:

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

其中,filespec指代如下:

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

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

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

 要求:

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

 之后按照要求編寫(xiě)語(yǔ)句:

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在磁盤(pán)上的存儲(chǔ)位置??: 

 ②增加日志文件

 要求:

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

 按照要求編寫(xiě)語(yǔ)句:

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。

按照要求編寫(xiě)語(yǔ)句:

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

如下,修改成功 

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

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

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

DROP DATABASE StuScore 

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

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

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

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

ALTER DATABASE 需要?jiǎng)h除的數(shù)據(jù)庫(kù)名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE 要?jiǎng)h除的數(shù)據(jù)庫(kù)名;

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

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

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

RESTORE DATABASE StuScore WITH RECOVERY;

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

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

相關(guān)文章

  • SQLServer 管理常用SQL語(yǔ)句

    SQLServer 管理常用SQL語(yǔ)句

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

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

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

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

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

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

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

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

    存儲(chǔ)過(guò)程(Stored Procedure)是預(yù)編譯SQL語(yǔ)句集合,這些語(yǔ)句存儲(chǔ)在一個(gè)名稱(存儲(chǔ)過(guò)程的名稱)下并作為單元來(lái)處理,存儲(chǔ)過(guò)程代替了傳統(tǒng)的逐條執(zhí)行SQL語(yǔ)句的方式,本文小編給大家介紹了SQL Server存儲(chǔ)過(guò)程(數(shù)據(jù)庫(kù)引擎)使用,需要的朋友可以參考下
    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)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳解安裝sql2012出現(xiàn)錯(cuò)誤could not open key...解決辦法

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

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

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

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

    SQLite如何修改字段類(lèi)型

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

    sql server中錯(cuò)誤日志errorlog的深入講解

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

最新評(píng)論