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  )