求 SQL 最基本的建庫語句、語法
這個就是最基礎的
--如果系統存在該數據庫,刪除該數據庫
if exists (select * from sysdatabases where name = 'bbsDB')
drop dataBase bbsDB
go
--通過CMD創建文件夾,如果你文件夾已經創建好就不用這句
exec xp_cmdshell 'md D:\project'
--創建數據庫
Create DataBase bbsDB
on--數據庫文件mdf
(
name = 'bbsDB_data',--邏輯名
fileName = 'D:\project\bbsDB_*',--物理路徑
size = 10mb
)
log on--日志文件ldf
(
name = 'bbsDB_log',--邏輯名
fileName = 'D:\project\bbsDB_*',--物理路徑
size = 3mb,
maxSize = 20mb
)
sql創建數據庫語句
創建數據庫的SQL語句:create database stuDB on primary -- 默認就屬于primary文件組,可省略(/*--數據文件的具體描述--*/ name='stuDB_data', -- 主數據文件的邏輯名稱 filename='D:\stuDB_*', -- 主數據文件的物理名稱 size=5mb, --主數據文件的初始大小 maxsize=100mb, -- 主數據文件增長的最大值 filegrowth=15%--主數據文件的增長率)log on(/*--日志文件的具體描述,各參數含義同上--*/ name='stuDB_log', filename='D:\stuDB_*', size=2mb, filegrowth=1mb)創建表和刪除表的SQL語句如下:use StuDBgo if exists(select * from sysobjects where name='stuMarks')drop table stuMarkscreate table stuMarks( ExamNo int identity(1,1) primary key, stuNo char(6) not null, writtenExam int not null, LabExam int not null)go-- 其中,列屬性"identity(起始值,遞增量)" 表示"ExamNo"列為自動編號, 也稱為標識列alter table 表名add constraint 約束名 約束類型 具體的約束說明alter table 表名drop constraint 約束名alter table stuMarksadd constraint UQ_stuNo Unique(stuNo)alter table stuMarksdrop constraint UQ_stuNo/*--添加SQL登錄賬戶--*/exec sp_addlogin 'xie', '123456' -- 賬戶名為xie,密碼為123456--刪除xie賬戶名exec sp_droplogin 'xie'/*--在stuDB數據庫中添加兩個用戶(必須存在)--*/use stuDBgo exec sp_grantdbaccess 'xie','123456'go-- 提示:SQL Server 中的dbo用戶是具有在數據庫中執行所有活動權限的用戶,表示數據庫的所有者(owner),一般來說,-- 如果創建了某個數據庫,就是該數據庫的所有者,即dbo用戶,dbo用戶是一個比較特殊的數據庫用戶,無法刪除,且此用-- 戶始終出現在每個數據庫中/* --給數據庫用戶授權-- */-- 授權的語法如下-- grant 權限 [on 表名] to 數據庫用戶use stuDBgo grant select,update,insert on stuMarks to xie grant create table to xiego。
SQL數據庫建庫和數據表語句有問題?請高手幫忙解決下面是建庫和建
if exists (select * from *ects where id = object_id(N'[dbo].[FK_Elect_Cource]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[Elect] DROP CONSTRAINT FK_Elect_CourceGOif exists (select * from *ects where id = object_id(N'[dbo].[FK_Student_Depart]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[Student] DROP CONSTRAINT FK_Student_DepartGOif exists (select * from *ects where id = object_id(N'[dbo].[FK_Teacher_Depart]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[Teacher] DROP CONSTRAINT FK_Teacher_DepartGOif exists (select * from *ects where id = object_id(N'[dbo].[FK_Elect_Student]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[Elect] DROP CONSTRAINT FK_Elect_StudentGOif exists (select * from *ects where id = object_id(N'[dbo].[FK_Cource_Teacher]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[Cource] DROP CONSTRAINT FK_Cource_TeacherGOif exists (select * from *ects where id = object_id(N'[dbo].[FK_Elect_Teacher]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[Elect] DROP CONSTRAINT FK_Elect_TeacherGOif exists (select * from *ects where id = object_id(N'[dbo].[Cource]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Cource]GOif exists (select * from *ects where id = object_id(N'[dbo].[Depart]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Depart]GOif exists (select * from *ects where id = object_id(N'[dbo].[Elect]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Elect]GOif exists (select * from *ects where id = object_id(N'[dbo].[Student]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Student]GOif exists (select * from *ects where id = object_id(N'[dbo].[Teacher]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Teacher]GOif exists (select * from *ects where id = object_id(N'[dbo].[Users]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Users]GOCREATE TABLE [dbo].[Cource] ( [courceID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [teaID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [courceName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NOT NULL , [courceTime] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [courceAddress] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [courceInfo] [text] COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOCREATE TABLE [dbo].[Depart] ( [departID] [int] IDENTITY (1, 1) NOT NULL , [departName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[Elect] ( [stuID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [courceID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [teaID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [Score] [int] NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[Student] ( [stuID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [stuPwd] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [stuName] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [stuDepart] [int] NULL , [stuGrade] [int] NULL , [stuClass] [int] NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[Teacher] ( [teaID] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [teaPwd] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [teaName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [teaDepart] [int] NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[Users] ( [adminName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [adminPwd] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GOALTER TABLE [dbo].[Cource] WITH NOCHECK ADD CONSTRAINT [PK_Cource_1] PRIMARY KEY CLUSTERED ( [courceID], [teaID] ) ON [PRIMARY] GOALTER TABLE [dbo].[Depart] WITH NOCHECK ADD CONSTRAINT [PK_Depart] PRIMARY KEY CLUSTERED ( [departID] ) ON [PRIMARY] GOALTER TABLE [dbo].[Elect] WITH NOCHECK ADD CONSTRAINT [PK_Elect] PRIMARY KEY CLUSTERED ( [stuID], [courceID], [teaID] ) ON [PRIMARY] GOALTER TABLE [dbo].[Student] WITH NOCHECK ADD CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED ( [stuID] ) ON [PRIMARY] GOALTER TABLE [dbo].[Teacher] WITH NOCHECK ADD CONSTRAINT 。
二、SQL命令建庫建表(1)創建數據庫test,要求有兩個數據文 愛問
if exists(select * from sysdatabases where name='test')drop database testgocreate database teston primary( NAME = s1_data, FILENAME = 'c:s1。
mdf', SIZE = 50MB, MAXSIZE = 300MB, FILEGROWTH = 5MB),( NAME = s2_data, FILENAME = 'c:s2。 ndf', SIZE = 100MB, MAXSIZE = 300MB, FILEGROWTH = 5MB)ALTER DATABASE test ADD FILE ( NAME = s3_ndf, FILENAME = 'd:s3。
ndf', FILEGROWTH = 50%)ALTER DATABASE test MODIFY FILE( NAME = s2_data, SIZE = 500MB)。
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建立數據庫語句
樓上確實挺簡單的
正確的流程是先判斷數據庫是否存在,存在的話DROP掉或者做其他操作.
創建完成以后USE 創建好的數據庫
創建表的時候也要判斷該表是否存在
我和樓上的兄弟寫的東西能在SQL 的查詢分析器里執行,
你要是想在執行 要有一個CONN
為*E "CREATE TABLE IF NOT 。..XXXXX"
如果這里看不明白的話 要好好補補了
可以一次性寫完,就向寫T-SQL 一樣
但是要注意 創建一個表的所有語句要寫在同一個EXECUTE里