1. 程式人生 > >SQL語句(建立書庫,建立建表,寫入註釋,獲取註釋)

SQL語句(建立書庫,建立建表,寫入註釋,獲取註釋)

--建立前先查詢是否存在

if exists (select * from sys.databases where name="Users(資料庫名字)")
  drop database Users(資料庫名字)
  go

--建立資料庫
create database Users(資料庫名字)

--使用該資料庫
use Users (資料庫名字)

--建立表
create table usertable(表名字)
(
   Ut_Id int not null primary key identity(1,1),                  --主鍵,自增長1
   Ut_Email varchar(50)  null ,                                   --郵箱(允許為空)
   Ut_Pwd varchar(50) not null,                                   --密碼
   Ut_Sex bit not null default(1),                                --性別,1為男0為女
   Ut_Qq varchar(50) not null,                                    --QQ
   Ut_Necessarytext varchar(50) null,                             --需要幫助的方面
   Ut_Strong_Ct_Id int null,                                      --強項科目,外來鍵(Fk_UserTable_Ut_Strong_Ct_Id(外來鍵名))
   Ut_Date datetime not null default(getdate()),                  --記錄時間
)
--科目
Create table CoursTable
(
   Ct_Id int not null primary key identity(1,1),                  --主鍵,自增長1
   Ct_Name varchar(30) not null,                                 --科目名稱
   Ct_Date datetime not null default(getdate()),                  --記錄新增時間
)

--建立外來鍵
alter table UserTable
add constraint Fk_UserTable_Ut_Strong_Ct_Id foreign key (Ut_Strong_Ct_Id) references CoursTable (Ct_Id)

--為表新增描述資訊
EXECUTE sp_addextendedproperty N'MS_Description', '會員表(表描述)', N'user', N'dbo', N'table', N'usertable(表名字)', NULL, NULL

--為欄位Ut_Email新增描述資訊
EXECUTE sp_addextendedproperty N'MS_Description', '郵箱(欄位描述)', N'user', N'dbo', N'table', N'usertable(表名字)', N'column', N'Ut_Email(欄位名)'

--更新表中列Ut_Email的描述屬性:
EXEC sp_updateextendedproperty 'MS_Description','欄位描述','user',dbo,'table','usertable(表名字)','column',Ut_Email(欄位名)

--顯示Ut_Email欄位的描述屬性
SELECT  *
FROM  ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table','usertable(表名字)', 'column', 'Ut_Email(欄位名)')

--顯示錶的描述屬性
SELECT  *
FROM  ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table','usertable(表名字)',  NULL, NULL)

--刪除表中列Ut_Email的描述屬性
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','usertable(表名字)','column',Ut_Email(欄位名)

--刪除表
drop table usertable(表名字)

--刪除資料庫

drop database Users(資料庫名字)

--新增列
ALTER TABLE Admin_Login ADD AdminName nvarchar(50) not null

--刪除列
ALTER TABLE Admin_Login DROP COLUMN AdminName

--修改列屬性
ALTER TABLE Admin_Login ALTER COLUMN AdminName varchar(50)

--新建儲存過程(用儲存過程建表)
Create procedure CreateTable(儲存過程名)
(
@tablename nvarchar(50)(引數)
)
as(執行開始)
declare @table nvarchar(1500)(宣告變數)
set @table = '
Create table [' + @tablename + 'Article]
(
Article_ID int not null primary key identity(1,1), 
Article_Head nvarchar(20) not null,     
Article_Text text not null,       
Article_ListID int not null,      
Article_Time datetime not null default(getdate()), 
Article_Delete bit not null default(0),     
)
Create table [' + @tablename + 'Photos]
(
 Photos_ID int not null primary key identity(1,1),  
 Photos_Url nvarchar(50) not null,      
 Photos_Description nvarchar(50) null,     
    Photos_Time datetime not null default(getdate()),  
    Photos_Delete bit not null default(0),     
)
Create table [' + @tablename + 'Moods]
(
 Moods_ID int not null primary key identity(1,1), 
 Moods_Text nvarchar(50) not null,     
 Moods_Time datetime not null default(getdate()), 
 Moods_Delete bit not null default(0),    
)
Create table [' + @tablename + 'List]
(
 List_ID int not null primary key identity(1,1),  
 List_Text nvarchar(20) not null,      
 List_Time datetime not null default(getdate()),  
 List_Delete bit not null default(0),    
)
alter table [' + @tablename + 'Article]
add constraint Fk_Article_Article_ListID_List_List_ID foreign key
(Article_ListID) references [' + @tablename + 'List] (List_ID)
'(設定@table語句為)
exec(@table) (執行改sql語句)