SQL語句 創建數據庫
在SQL幫助文檔里有詳細的解析:如下CREATE DATABASE創建一個新數據庫及存儲該數據庫的文件,或從先前創建的數據庫的文件中附加數據庫。
說明 有關與 DISK INIT 向后兼容性的更多信息,請參見"Microsoft? SQL Server? 向后兼容性詳細信息"中的設備(級別 3)。語法CREATE DATABASE database_name [ ON [ < filespec > [ ,。
n ] ] [ , < filegroup > [ ,。n ] ] ] [ LOG ON { < filespec > [ ,。
n ] } ] [ COLLATE collation_name ][ FOR LOAD | FOR ATTACH ] < filespec > ::=[ PRIMARY ]( [ NAME = logical_file_name , ] FILENAME = 'os_file_name' [ , SIZE = size ] [ , MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] ) [ ,。n ]< filegroup > ::=FILEGROUP filegroup_name < filespec > [ ,。
n ]參數database_name新數據庫的名稱。數據庫名稱在服務器中必須唯一,并且符合標識符的規則。
database_name 最多可以包含 128 個字符,除非沒有為日志指定邏輯名。如果沒有指定日志文件的邏輯名,則 Microsoft? SQL Server? 會通過向 database_name 追加后綴來生成邏輯名。
該操作要求 database_name 在 123 個字符之內,以便生成的日志文件邏輯名少于 128 個字符。ON指定顯式定義用來存儲數據庫數據部分的磁盤文件(數據文件)。
該關鍵字后跟以逗號分隔的
n占位符,表示可以為新數據庫指定多個文件。LOG ON指定顯式定義用來存儲數據庫日志的磁盤文件(日志文件)。
該關鍵字后跟以逗號分隔的
FOR LOAD支持該子句是為了與早期版本的 Microsoft SQL Server 兼容。數據庫在打開 dbo use only 數據庫選項的情況下創建,并且將其狀態設置為正在裝載。
SQL Server 7.0 版中不需要該子句,因為 RESTORE 語句可以作為還原操作的一部分重新創建數據庫。FOR ATTACH指定從現有的一組操作系統文件中附加數據庫。
必須有指定第一個主文件的
必須為這些文件指定
應使用 sp_attach_db 系統存儲過程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必須指定 16 個以上的
如果將數據庫附加到的服務器不是該數據庫從中分離的服務器,并且啟用了分離的數據庫以進行復制,則應該運行 sp_removedbreplication 從數據庫刪除復制。collation_name指定數據庫的默認排序規則。
排序規則名稱既可以是 Windows 排序規則名稱,也可以是 SQL 排序規則名稱。如果沒有指定排序規則,則將 SQL Server 實例的默認排序規則指派為數據庫的排序規則。
有關 Windows 和 SQL 排序規則名稱的更多信息,請參見 COLLATE。PRIMARY指定關聯的
主文件組包含所有數據庫系統表。還包含所有未指派給用戶文件組的對象。
主文件組的第一個
如果沒有指定 PRIMARY,那么 CREATE DATABASE 語句中列出的第一個文件將成為主文件。NAME為由
如果指定了 FOR ATTACH,則不需要指定 NAME 參數。logical_file_name用來在創建數據庫后執行的 Transact-SQL 語句中引用文件的名稱。
logical_file_name 在數據庫中必須唯一,并且符合標識符的規則。該名稱可以是字符或 Unicode 常量,也可以是常規標識符或定界標識符。
FILENAME為
os_file_name 中的路徑必須指定 SQL Server 實例上的目錄。os_file_name 不能指定壓縮文件系統中的目錄。
如果文件在原始分區上創建,則 os_file_name 必須只指定現有原始分區的驅動器字母。每個原始分區上只能創建一個文件。
原始分區上的文件不會自動增長;因此,os_file_name 指定原始分區時,不需要指定 MAXSIZE 和 FILEGROWTH 參數。SIZE指定
如果主文件的
size
默認值為 MB。指定一個整數,不要包含小數位。
size 的最小值為 512 。
sql語句創建數據庫
/*創建bbsDB數據庫*/use masterif exists(select * from sysdatabases where name='bbsDB')drop database bbsDBcreate database bbsDBon(name='bbsDB_data',filename='D:\project\bbsDB_*',size=10,filegrowth=20%)log on(name='bbsDB_log',filename='D:\project\bbsDB_*',size=3,maxsize=20,filegrowth=10%)/*創建bbsUsers表*/use bbsdbif exists(select * from sysobjects where name='bbsUsers')drop table bbsUserscreate table bbsUsers(UID int identity(1,1) not null,--學號,標識列Uname varchar(15) not null,--用戶昵稱Upassword varchar(10) not null,--用戶密碼Uemail varchar(20),--郵箱地址Usex bit not null,--用戶性別Uclass int,--等級Uremark varchar(20),--備注UregDate datetime not null,--注冊日期Ustate int null, --狀態Upoint int null--用戶積分 )/*創建bbsUsers表中的約束*/alter table bbsUsersadd constraint PK_uid primary key(uid),--主鍵constraint DF_Upassword default(888888) for Upassword,--初始密碼為888888constraint DF_Usex default (1) for Usex,--性別默認為男constraint DF_UregDate default (getdate()) for UregDate,--注冊日期默認為系統日期constraint DF_Ustate default(0) for Ustate,--狀態默認為離線constraint DF_Upoint default(20) for Upoint,--積分默認為20點constraint CK_Uemail check(Uemail like '%@%'),--電子郵件必須含有@符號constraint CK_Upassword check (len(Upassword)>=6)--密碼至少為六位/*創建bbsSection表*/use bbsdbif exists(select * from sysobjects where name='bbsSection')drop table bbsSectioncreate table bbsSection(SID int identity(1,1) not null,--板塊標號,自動增長Sname varchar(32) not null,--版塊名稱SmasterID int not null,--版主用戶IDSprofile varchar(20) null,--版面簡介SclickCount int null, --點擊率StopicCount int null--發帖數)/*創建bbsSection表中的約束*/alter table bbsSectionadd constraint PK_sid primary key(sid),--主鍵constraint DF_SclickCount default(0) for SclickCount,--點擊率默認為0constraint DF_StopicCount default(0) for StopicCount,--發帖數默認為0constraint DF_SmasterID foreign key(SmasterID)references bbsUsers (UID)--外鍵/*創建bbsTopic表*/use bbsdbif exists(select * from sysobjects where name='bbsTopic')drop table bbsTopiccreate table bbsTopic(TID int identity(1,1) not null,--帖子編號,自動增長TsID int not null,--發帖人IDTuID int not null,--版主用戶IDTreplyCount int null,--回復數量Tface int null, --發帖表情Ttopic varchar(20) not null,--標題Tcontents varchar(30) not null,--正文Ttime datetime null,--發帖時間TclickCount int null,--點擊數Tstate int not null,--狀態TlastReply datetime null--回復時間)/*創建bbsTopic表的約束*/alter table bbsTopicadd constraint DF_TreplyCount default(0) for TreplyCount,--回復數量默認為0constraint PK_tid primary key(tid),--主鍵constraint DF_TclickCount default (0) for TclickCount,--點擊數默認為0constraint DF_Tstate default (1) for Tstate,--狀態默認為1constraint DF_Ttime default (getdate()) for Ttime,--發帖時間默認為系統日期constraint CK_Tcontents check (len(Tcontents)>=6),--正文必須大于六個字符constraint CK_TlastReply check ((TlastReply)>(Ttime)),--最后回復時間必須晚于發帖時間constraint DF_TsID foreign key(TsID)references bbsSection (SID),--外鍵constraint DF_TuID foreign key(TuID)references bbsUsers (UID)--外鍵/*創建bbsReply表*/use bbsdbif exists(select * from sysobjects where name='bbsReply')drop table bbsReplycreate table bbsReply(RID int identity(1,1) not null,--自動編號,帖子編號RtID int not null,--主貼IDRsID int not null,--板塊IDRuID int not null,--回帖人IDRface int null, --回帖表情Rcontents varchar(30) not null,--正文Rtime datetime null,--回帖時間RclickCount int null--點擊數)/*創建bbsReply表的約束*/alter table bbsReplyadd constraint DF_Rtime default (getdate()) for Rtime,--回帖時間默認為系統日期constraint CK_Rcontents check (len(Rcontents)>=6),--正文必須大于六個字符constraint DF_RtID foreign key(RtID)references bbsTopic (TID),--外鍵constraint DF_RsID foreign key(RsID)references bbsSection (SID),--外鍵constraint DF_RuID foreign key(RuID)references bbsUsers (UID)--外鍵差不多,你改一下吧!。
創建數據庫的sql語句怎么寫
最簡單的語句如下:
USE master
GO
CREATE DATABASE 數據庫名
ON
( NAME = prods_dat,
FILENAME = 'c:\program files\microsoft sql server\mssql\data\數據庫名.mdf',
SIZE = 4,
MAXSIZE = 10,
FILEGROWTH = 1 )
GO
創建出數據庫表的SQL語句
--創建表
CREATE TABLE Test(ID varchar(10),[NAME] varchar(50),GENDER char,COURSE varchar(50))
--插入數據
INSERT INTO Test VALUES ('001','Tom','M','Computer Science')
INSERT INTO Test VALUES ('002','Mike','M','English')
INSERT INTO Test VALUES ('003','Mary','F','Mathematics')
--查詢出學習Computer Science的學生
SELECT * FROM Test WHERE Course = 'Computer Science'
sql建立數據庫語句
樓上確實挺簡單的
正確的流程是先判斷數據庫是否存在,存在的話DROP掉或者做其他操作.
創建完成以后USE 創建好的數據庫
創建表的時候也要判斷該表是否存在
我和樓上的兄弟寫的東西能在SQL 的查詢分析器里執行,
你要是想在執行 要有一個CONN
為*E "CREATE TABLE IF NOT 。..XXXXX"
如果這里看不明白的話 要好好補補了
可以一次性寫完,就向寫T-SQL 一樣
但是要注意 創建一個表的所有語句要寫在同一個EXECUTE里
用sql 建立表
CREATE TABLE A(A# varchar(10) PRIMARY KEY,ANAME varchar(8) NOT NULL, QTY varchar(14), CITY varchar(20)) insert into A values('A2','劉明','100','上海'),('A3','楊敏','300','濟南'),('A1','馬剛','200','北京'),('A4','李明','400','深圳'),('A6','李雪','300','天津')CREATE TABLE B(B# varchar(10) PRIMARY KEY,BNAME varchar(8) NOT NULL, COLOR varchar(14), CITY varchar(20)) insert into B values('B1','短袖','綠色','濟南'),('B5','連衣裙','藍色','上海'),('B2','褲子','紅色','北京'),('B4','夾克衫','褐色','天津'),('B2','兩件套','黃色','石家莊'),('B3','天鵝絨','綠色','廣州')這是A、B兩個表的創建和插入數據,但是我看你這個C表應該是跟A、B表是有關系的吧,但是你這個對應過程好像不太對啊,具體的對應順序既不是按排序對應的,也不是按數據表中的位置對應的,所以我也不太明白,你這個C表示什么意思?而且C#還有重復的,原則上來說C#應該是主鍵,主鍵都是唯一的啊!。
轉載請注明出處華閱文章網 » 創建sql數據庫語句