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