使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)與創(chuàng)建表操作指南
一、通過(guò)sql語(yǔ)句實(shí)現(xiàn)
1.1 創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)模板:
create database 數(shù)據(jù)庫(kù)名稱(chēng) --創(chuàng)建數(shù)據(jù)庫(kù) on primary ( name --數(shù)據(jù)庫(kù)的邏輯名稱(chēng) filename --物理存放位置及物理文件名稱(chēng)(Student_info.mdf就是在磁盤(pán)上顯示的名稱(chēng)) size --設(shè)置數(shù)據(jù)文件初始大小 maxsize --設(shè)置最大限制 filegrowth --設(shè)置主數(shù)據(jù)文件增長(zhǎng)幅度 ) log on --定義事務(wù)日志文件 ( name --邏輯名稱(chēng) filename --物理存放位置及物理文件名稱(chēng) size= --設(shè)置事務(wù)日志文件初始大小 maxsize --設(shè)置最大限制為 filegrowth --設(shè)置事務(wù)日志增長(zhǎng)幅度 )
還是范例看的更清楚,那就上栗子吧!
??栗子:
按要求創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
具體參數(shù)如下表:
參數(shù)名稱(chēng) | 參考參數(shù) |
---|---|
數(shù)據(jù)庫(kù)名稱(chēng) | Student_info1 |
數(shù)據(jù)庫(kù)邏輯文件名稱(chēng) | Student_info1_data |
數(shù)據(jù)庫(kù)物理文件名稱(chēng) | Stduent_info1_data.mdf |
數(shù)據(jù)庫(kù)文件初始大小 | 20MB |
數(shù)據(jù)文件大小最大值 | 300MB |
數(shù)據(jù)文件增長(zhǎng)增量 | 5MB |
日志邏輯文件名稱(chēng) | Student_info_log1 |
日志物理文件名稱(chēng) | Student_info_log1.ldf |
日志文件初始大小 | 5Mb |
日志文件大小最大值 | 50MB |
日志文件增長(zhǎng)量 | 1MB |
代碼:
create database Student_info1--創(chuàng)建數(shù)據(jù)庫(kù) on primary ( name= Student_info1,--數(shù)據(jù)庫(kù)的邏輯名稱(chēng) filename='E:\大2上學(xué)期\數(shù)據(jù)庫(kù)原理\sql serve\Student_info1.mdf',--物理存放位置及物理文件名稱(chēng)(Student_info.mdf就是在磁盤(pán)上顯示的名稱(chēng)) size=20,--初始大小 maxsize=300,--最大限制 filegrowth=5--主數(shù)據(jù)文件增長(zhǎng)幅度為5MB ) log on--定義事務(wù)日志文件 ( name =Student_info_log1,--邏輯名稱(chēng) filename='E:\大2上學(xué)期\數(shù)據(jù)庫(kù)原理\sql serve\Student_info1.ldf',--物理存放位置及物理文件名稱(chēng) size=5,--初始大小為5mb maxsize=50,--最大限制為50mb filegrowth=1--事務(wù)日志增長(zhǎng)幅度為1mb )
1.2 查看、驗(yàn)證創(chuàng)建的數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)創(chuàng)建好了以后,我們可以查看數(shù)據(jù)庫(kù)的屬性是否符合要求.
執(zhí)行sp_helpdb系統(tǒng)存儲(chǔ)過(guò)程查看Student_info數(shù)據(jù)庫(kù)的信息。
步驟如下:
輸入sql語(yǔ)句
sp_helpdb Student_info1
最后單擊"執(zhí)行"按鈕就OK了.
1.3 修改數(shù)據(jù)庫(kù)的屬性
當(dāng)我們發(fā)現(xiàn)數(shù)據(jù)庫(kù)的屬性,創(chuàng)建的時(shí)候不小心寫(xiě)錯(cuò)了,或者別的原因需要修改數(shù)據(jù)屬性的時(shí)候應(yīng)該怎么辦呢???
例如:
將剛剛創(chuàng)建的數(shù)據(jù)庫(kù)Student_info 數(shù)據(jù)文件的初始值大小 改為30MB, 最大值 改為500MB, 數(shù)據(jù)增長(zhǎng)量 改為5%, 日志文件初始值 改為20MB, 最大值 改為60MB, 數(shù)據(jù)增長(zhǎng)量 為6%.
代碼:
--修改數(shù)據(jù)文件屬性 ALTER DATABASE Student_info1 MODIFY FILE ( NAME = Student_info1,--要修改屬性的文件名稱(chēng) SIZE = 30,--修改初始大小為30mb maxsize=300,--修改最大限制為300mb filegrowth=5%--修改事務(wù)日志增長(zhǎng)幅度為5% ) --修改事務(wù)日志文件屬性 ALTER DATABASE Student_info1 MODIFY FILE ( NAME =Student_info_log1, size=20,--修改初始大小為20mb maxsize=60,--修改最大限制為60mb filegrowth=6%--修改事務(wù)日志增長(zhǎng)幅度為6% )
修改前后通過(guò)語(yǔ)句sp_helpdb Student_info1觀察數(shù)據(jù)庫(kù)屬性的變化
修改前:
修改后:
1.4 數(shù)據(jù)庫(kù)的分離與附加。
數(shù)據(jù)庫(kù)分離:數(shù)據(jù)庫(kù)分離是指將數(shù)據(jù)庫(kù)文件從數(shù)據(jù)庫(kù)服務(wù)器實(shí)例中分離出來(lái),相當(dāng)于關(guān)閉了數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)分離后,應(yīng)用程序不能連接到該數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)文件可以被其它進(jìn)程訪問(wèn)。通常分離數(shù)據(jù)庫(kù)用于快速地將數(shù)據(jù)庫(kù)遷移到另一個(gè)SQLSERVER實(shí)例中.
從創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)句中我們不難知道,我們創(chuàng)建的數(shù)據(jù)庫(kù)是一個(gè)存放在我們電腦硬盤(pán)上的一個(gè)文件,受DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))管理,如果我們想要自己創(chuàng)建的數(shù)據(jù)庫(kù)在別的客戶(hù)端,或者說(shuō)是讓別人在它的電腦上也能使用,我們就需要對(duì)數(shù)據(jù)庫(kù)分離,然后找到被分離的數(shù)據(jù)庫(kù)文件.mdf(數(shù)據(jù)文件),和.ldf(日志文件)
模板:
--分離 execute sys.sp_detach_db @dbname=數(shù)據(jù)庫(kù)名
execute sp_attach_db Student_info1 ,filenme
范例:將數(shù)據(jù)庫(kù)Student_info1分離后又附加
代碼:
----將數(shù)據(jù)庫(kù)Student_info1分離 execute sys.sp_detach_db @dbname='Student_info1'
execute sp_attach_db Student_info1 , 'E:\大2上學(xué)期\數(shù)據(jù)庫(kù)原理\sql serve\Student_info1.mdf', --filename每個(gè)人的不一樣,與當(dāng)時(shí)創(chuàng)建的數(shù)據(jù)庫(kù)存放的地址有關(guān) 'E:\大2上學(xué)期\數(shù)據(jù)庫(kù)原理\sql serve\本Student_info1.ldf' --filename每個(gè)人的不一樣,與當(dāng)時(shí)創(chuàng)建的數(shù)據(jù)庫(kù)存放的地址有關(guān)
1.5 創(chuàng)建數(shù)據(jù)表
模板:
create table 表名( 屬性名1 類(lèi)型, 屬性名2 類(lèi)型, 屬性名3 類(lèi)型 --注意最后一條語(yǔ)句不用',' )
范例:
Student_info數(shù)據(jù)庫(kù)包含3張表:請(qǐng)按要求創(chuàng)建下表 Student表、 Course表及SC表, 分別代表學(xué)生信息、課程信息及學(xué)生選課信息。 三張表要求如下:
--創(chuàng)建Student表 create table Student( Sno char(8) primary key not null, --學(xué)號(hào),并設(shè)置為主鍵(primary key)和非空(not null) Sname varchar(8) not null, --學(xué)生姓名 Sex char(2) default '男' not null, --性別,設(shè)置默認(rèn)值(default)為'男' Birth smalldatetime not null, --出生年月 Classno char(3) not null, --班級(jí)號(hào) Entrance_date smalldatetime not null, --入學(xué)時(shí)間 Home_addr varchar(40) --家庭住址(可以為空) ) --創(chuàng)建Course表 create table Course( Cno char(3) primary key not null, --課程號(hào) Cname varchar(20) not null, --課程名稱(chēng) Toal_perior smallint, --總學(xué)時(shí) Gredit tinyint check(Gredit>0 and Gredit<=6) --學(xué)分,這里要使用check約束 ) --創(chuàng)建sc表 create table Sc( Sno char(8) not null, --學(xué)號(hào) Cno char(3) not null, --課程號(hào) primary key(sno,cno), --設(shè)置sno和cno的屬性組為主鍵 foreign key(sno)references student(sno), --設(shè)置外鍵 foreign key(cno)references course(cno), --設(shè)置外鍵 Grade tinyint check( Grade>=0 and Grade<=100) --成績(jī) )
二、用通過(guò)SQL Sever Management Studio
2.1 創(chuàng)建數(shù)據(jù)庫(kù)
步驟:
1.右擊“數(shù)據(jù)庫(kù)“,在彈出的快捷菜單中選擇”新建數(shù)據(jù)庫(kù)“
- 將要求參數(shù)在此界面設(shè)置。如下圖:
2.2 查看、驗(yàn)證創(chuàng)建的數(shù)據(jù)庫(kù)。
1.右擊Student_info1數(shù)據(jù)庫(kù),在彈出的快捷菜單中,單擊“屬性”按鈕。
2.3 修改數(shù)據(jù)庫(kù)的屬性
在打開(kāi)的數(shù)據(jù)庫(kù)屬性對(duì)話框中,單擊“文件”選項(xiàng)卡,即可查看數(shù)據(jù)庫(kù)的屬性。
雙擊可直接修改.
2.4 數(shù)據(jù)庫(kù)分離與附加
數(shù)據(jù)庫(kù)分離:
右擊Student_info1數(shù)據(jù)庫(kù),在彈出的快捷菜單中選擇“屬性“,在”數(shù)據(jù)庫(kù)屬性對(duì)話框“中選擇”選項(xiàng)“選項(xiàng)卡。找到限制訪問(wèn),將其修改為”SINGLE_USER“
在提示框中單擊"是".
當(dāng)左側(cè)顯示(單個(gè)用戶(hù))的時(shí)候表示分離成功了一半
最后在打開(kāi)的“分離數(shù)據(jù)庫(kù)”對(duì)話框中:勾選“更新統(tǒng)計(jì)信息”復(fù)選框。
若“消息”列表沒(méi)有顯示存在活動(dòng)鏈接,則“狀態(tài)”列會(huì)顯示“就緒”。
另外一種情況,“消息“列表顯示”活動(dòng)鏈接“,“狀態(tài)”列表就會(huì)顯示“未就緒“。
此時(shí)需要再勾選”刪除鏈接“列的復(fù)選框。
數(shù)據(jù)庫(kù)的附加:
將Student_info數(shù)據(jù)庫(kù)再次附加到服務(wù)器中
1.選中左邊“數(shù)據(jù)庫(kù)“,右擊。在快捷菜單中選擇”附加”命令。
結(jié)語(yǔ)
牛牛并不建議使用SQL Sever Management Studio來(lái)完成相應(yīng)的數(shù)據(jù)庫(kù)操作,重點(diǎn)是要學(xué)會(huì)sql語(yǔ)句命令來(lái)執(zhí)行操作,這是因?yàn)楫?dāng)我們?cè)趫?zhí)行大量的數(shù)據(jù)任務(wù)時(shí),用sql語(yǔ)句會(huì)顯得方便很多.
到此這篇關(guān)于使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)與創(chuàng)建表的文章就介紹到這了,更多相關(guān)SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)與表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL Server數(shù)據(jù)庫(kù)入門(mén)學(xué)習(xí)總結(jié)
經(jīng)過(guò)一段時(shí)間的學(xué)習(xí),也對(duì)數(shù)據(jù)庫(kù)有了一些認(rèn)識(shí),數(shù)據(jù)庫(kù)基本是由表,關(guān)系,操作組成;對(duì)于初學(xué)者首先要學(xué)的2012-08-08積分獲取和消費(fèi)的存儲(chǔ)過(guò)程學(xué)習(xí)示例
這篇文章主要介紹了積分獲取和消費(fèi)的存儲(chǔ)過(guò)程學(xué)習(xí)示例,這個(gè)只是學(xué)習(xí)一下存儲(chǔ)過(guò)程的使用方法,需要的朋友可以參考下2014-03-03SQLServer 獲得用戶(hù)最新或前n條訂單的幾種SQL語(yǔ)句小結(jié)
場(chǎng)景:有一張用戶(hù)表,一個(gè)訂單表,要求獲得一個(gè)用戶(hù)對(duì)應(yīng)的最新的一條訂單信息。2011-08-08詳解SQL Server中的數(shù)據(jù)類(lèi)型
本文主要講解了SQL中的數(shù)據(jù)類(lèi)型以及幾個(gè)需要注意的地方,簡(jiǎn)短的內(nèi)容,深入的理解。有興趣的朋友可以看下2016-12-12Navicat連接SQL Server數(shù)據(jù):報(bào)錯(cuò)08001-命名管道提供程序的完美解決方法
小編新安裝了sqlserver用navicat進(jìn)行連接時(shí)出現(xiàn)一系列問(wèn)題,不知道該怎么解決,小編小編給大家分享一篇教程關(guān)于Navicat連接SQL Server數(shù)據(jù):報(bào)錯(cuò)08001-命名管道提供程序的問(wèn)題,感興趣的朋友一起看看吧2021-08-08必須會(huì)的SQL語(yǔ)句(八) 數(shù)據(jù)庫(kù)的完整性約束
這篇文章主要介紹了sqlserver中數(shù)據(jù)庫(kù)的完整性約束使用方法,需要的朋友可以參考下2015-01-01通過(guò)Windows批處理命令執(zhí)行SQL Server數(shù)據(jù)庫(kù)備份
這篇文章主要介紹了通過(guò)Windows批處理命令執(zhí)行SQL Server數(shù)據(jù)庫(kù)備份的相關(guān)資料,需要的朋友可以參考下2016-03-03SQL?Server如何設(shè)置用戶(hù)只能訪問(wèn)特定數(shù)據(jù)庫(kù)和訪問(wèn)特定表或視圖
最近項(xiàng)目中需要限定特定的用戶(hù)只能查看并訪問(wèn)特定的數(shù)據(jù)庫(kù),防止多個(gè)用戶(hù)對(duì)數(shù)據(jù)庫(kù)操作時(shí)一些誤操作,所以這篇文章主要給大家介紹了關(guān)于SQL?Server如何設(shè)置用戶(hù)只能訪問(wèn)特定數(shù)據(jù)庫(kù)和訪問(wèn)特定表或視圖的相關(guān)資料,需要的朋友可以參考下2023-04-04SqlServer修改數(shù)據(jù)庫(kù)文件及日志文件存放位置
這篇文章主要介紹了SqlServer修改數(shù)據(jù)庫(kù)文件及日志文件存放位置的方法2014-07-07SQL語(yǔ)句練習(xí)實(shí)例之三——平均銷(xiāo)售等待時(shí)間
有一張Sales表,其中有銷(xiāo)售日期與顧客兩列,現(xiàn)在要求使用一條SQL語(yǔ)句實(shí)現(xiàn)計(jì)算2011-10-10