MyDBを使用
go--
DDL:CREATE、Alter、Drop:すべてのデータベースオブジェクトに対して、基本的に有効です。
データベースの作成ソフト-データベースを作成します。パスは
SQLServerインストールパス/データフォルダーの下にあります--format:
/ *データベースライブラリ名を作成
[on [プライマリ]
[<ファイル定義> [、... n]]
[、<ファイルグループ定義> [、... n]]
[ログオン[<ファイル定義>]]
ファイル定義:
(name = '論理ファイル名'、
filename = '物理ファイル名'、
size =初期サイズ、
maxsize =最大サイズ、
filegrowth =ファイル拡張メソッド)
* /
存在する場合(select * from sys.databases where name = 'MyNewDb' )
データベースMyNewDbを削除-プライマリに
データベースMyNewDb
を作成するデータベースを削除する-プライマリデータファイルが1つあり、デフォルトのファイルグループ
(
名前= 'MyNewDb'、
ファイル名= 'e:/MyNewDb.mdf'、
サイズ= 3Mb、最大サイズ
= 10Mb、
filegrowth = 1MB
)
、filegroup FileGroupS
(name = 'MyNewDb2'、
filename = 'e:/MyNewDb2.ndf'、size
= 3Mb、
maxsize = UNLIMITED、-最大値は無制限、無制限の
拡張、filegrowth = 1MB)
、(
名前= 'MyNewDb3'、
ファイル名= 'E:/MyNewDb3.ndf'、
サイズ= 3Mbの、
MAXSIZE = UNLIMITED、
FILEGROWTH = 1メガバイト)
のログ
(
名前= 'MyNewDb_Log'、
ファイル名= 'E:/MyNewDb_Log.ldf'、
サイズ= 1Mb 、
maxsize = 10Mb、
filegrowth = 1%
)-
データベースのヘルプ情報を
表示しますsp_helpdb MyNewDb-データベース
の名前を変更します:sp_renamedb古いデータベース名、新しいデータベース名
sp_renamedb MyNewDb、MyDBDB-
データベースを変更しますデータベースライブラリ名を変更します...関連する定義-
セカンダリデータファイルをファイルグループに追加します
FileGoupsalter database MyDBDB
add file
(
name = 'MyNewDb4'、
filename = 'e:/MyNewDb4.ndf'、size
= 1Mb 、
maxsize = 10Mb、
filegrowth = 1%
)
FileGroupへFileGroups
alter databaseをMyDBDB
削除ファイルMyNewDb2
- alter databaseを使用してライブラリ名を変更する
ALTERデータベースMyDBDB
名= MYNEWDBを修正
-テーブル管理を:作成、変更、削除、DDL:アルタードロップを作成
、使用MYDB - 1を独自のデータベースを使用してください。。
行く
作成テーブル顧客データベース名。スキーマ名。テーブル名; myDB.dbo.Customer
(-フィールド名データタイプ[長さ]
顧客番号char(10)、
顧客名varchar(12)、
顧客性別char(2)、-ビット
顧客のカード番号CHAR(10)、
顧客アドレスはvarchar(20)、
顧客の連絡先情報はvarchar(20)
)
は、sp_helpカスタマー-問い合わせフォーム情報
sp_renameを顧客テーブル、顧客
使用MYDBは
行く
、ビットタイプに--modify顧客の性別を列の変更コマンド:テーブルのテーブル名の変更列の列名の変更[タイプ]
テーブルの変更顧客の
変更列の顧客の性別char(2)-テーブルの変更
、テーブルへの列の追加、たとえば、備考列の追加
ALTER TABLEカスタマー
addはVARCHAR(200)備考
ALTER TABLEカスタマー
追加の高さの小数(3,2)、
重量TINYINT
削除列,:ドロップ列の列名-
ALTER TABLEカスタマー
ドロップ列の発言を
-宿題に4.40最初の質問を行います。
- City列を変更し、city列をvarchar(12)に
変更します。--MobilePhone列をchar(11)に
追加します。--FirstName、LastName列を
削除し、name列を追加します。--テーブルドロップテーブルテーブル名
ドロップテーブルを削除します。変換されたテーブル
-データ整合性:エンティティ整合性制約:エンティティの各行の意味を確実にするための、行のプライマリキー制約、一意の制約、識別列。--
プライマリキーを使用して制約を確立します。
テーブルの作成Customer--データベース名。スキーマ名.Table name; myDB.dbo.Customer
(-field name data type [length]
customer number char(10)Constraint PK_Customer_customer number Primary Key、-プライマリキー制約を確立します
customer name varchar(12)not null、-nonヌル制約
顧客IDchar(18)制約UQ_Customer_Customer ID一意、-一意の制約
顧客の性別char(2)、-ビット
顧客カード番号char(10)、
顧客アドレスvarchar(20)、
顧客連絡先情報varchar(20)
)-
プライマリキー制約、一意で空ではない;一意の制約。 (Null)
select * from Customer
Create table WangBaPc
(
Id int identity(1,1)、-identitycolumn。Applystointegers 。-- identity
(identification seed、growth n)、from the identity seed、eachincrease n
Pc varchar(8)、
class varchar(8)
)-
ドメイン整合性の制約:テーブルの列を制約します。いくつかの種類があります:
-null以外、デフォルト値、チェック制約、外部キー制約、データタイプ。--
カスタマーバンクカードテーブルを
作成します。テーブルを作成します。CustBank
(
カスタマーカード番号char(10)制約PK_CustBank_カスタマーカード番号プライマリキー、
金額お金、
消費時間はint、
ポイントはint
)
CustBankから選択*
-
テーブルのBookInfoを作成します
(
BId char(20)制約PK_BookInfo_BkIdプライマリキー、
BName varchar(30)not null、
-null以外の制約BPulisher varchar(20)not null、
BPrice、
BType char(4)、
BBuyPerson varchar(12)Constraint DF_BookInfo_BBuyPerson default '- デフォルト値の制約
)-特に
チェック制約を確認します
--salespersonテーブルを
作成しますテーブルを作成しますSalesPerson
(
SID int identity(1,1)Constraint PK_SalesPerson_SID Primary key、
SName varchar(12)not null、-空でない制約
SGender char(2)制約CK_SalesPerson_SGenderチェック(SGender = ' M'またはSGender = 'female')
)
-ジョブ:
-テーブルゲーム担当者を作成します
/ *テーブルプレーヤーを作成します
(
--idID列をプライマリキーとして
-名前は空ではありません
-IDカードの唯一の制約
-性別は男性または女性のみです
-高さ
0.30m〜3.00 m -30KG〜250KGの重さ
-干支の中国の干支
-鄭州市のデフォルトから
)
* /
Create Database HomeWork
Go
IF EXISTS(SELECT * from sys.objects)
ドロップテーブルプレーヤーテーブルプレーヤーの
作成
(
id int identity(1,1)Constraint PK_Player_Id primary key、
name varchar(8)not null、
ID char(18)Constraint UQ_Player_ ID Unique、
gender char(2)Constraint CK_Player_genderチェック(gender = 'male'またはgender = 'female')、
高さdecimal(3,2)制約CK_Player_ heightチェック(height> = 0.3およびheight <= 3.0)、
weighttinyint制約CK_Player_weightCheck(weight> 30 and weight <250)、
zodiac sign char(2)Constraint CK_Player_ zodiac Check(zodiac in( 'rat'、 'ox'、 'tiger'、 'rabbit'、 'dragon'、 'snake'、「馬」、「羊」、「猿」、「鶏」、「犬」、「豚」))、
City varchar(12)Constraint DF_Player_City Default'Zhengzhou '
)
sp_help Player-
スーパーマーケットアイテムテーブルを作成します-
注文テーブルを作成します
myDBを使用します
go
テーブルを作成しますGoods-アイテムテーブル
(
Id int Identity(1,1)Constraint PK_Goods_Id Primary key、
TiaoXingMa char(13)Constraint UQ_Goods_TXM Unique、
-Barcode GName varchar(20)not null、
-Item name GPrice Money、
GWeight decimal(5,2)
)
Create table OrderGoods--Order form
(
order number char(10) )制約PK_OrderGoods_order番号プライマリキー、
GId int、---注文アイテム番号、
注文時間smalldatetime制約DF_OrderGoods_order時間デフォルトgetdate()、orderer
varchar(8)not null
)
select * from Goods
select * from OrderGoods
-注文テーブルのGID列に外部キー制約を確立し、メインテーブルのID列との関係を確立します。商品(つまり、ID列を指す)
テーブルを変更します。OrderGoods
制約を追加します。FK_Goods_OrderGoods_Id外部キー(GID)
参照商品(ID)-形式
:変更テーブル追加外部キー;外部キーテーブル:子テーブル;メインテーブル:親テーブル
変更テーブル子テーブル
制約の追加FK_メインテーブル名_子テーブル名外部キー(外部キー列)
メインテーブル名を参照します(メインテーブルは列に依存します。通常、メインテーブルのプライマリキー) -
マスターテーブルとサーバントテーブルを
作成しますテーブルマスターを作成します
(
--Master :マスターMId char(8)制約PK_Master_MIdプライマリキー、
MName varchar(8)not null
)
テーブルサーバントを作成します
(-
-サーバント:サーバントSId char(8)制約servant_SIdプライマリキー、-サーバントの番号
MId char(8)制約FK_master_servant_MID外部キー
参照マスター(MID)、-サーバントのマスター番号を指定します
SName varchar(8)not null
)-
ルールを作成します
RuleHeNanCity
を@Cityin( 'Zhengzhou'、 'Luoyang'、 'Anyang'、 'Nanyang'、 'Puyang'、 'Xinyang'、 'Hebi'、 'Jiaozuo'、 'Xinxiang'、 'Kaifeng'、 'Shangqiuとして作成します'、' Zhoukou '、' Zhumadian '、' Xuchang '、' Luohe '、' Jiyuan ' )
-プレーヤーの都市列をルールHeNanCityにバインドします
sp_bindrule'HeNanCity'、 'Player。City'Decimal (から
タイプの高さ
を作成) 3,2)
表人作成
(
ID int型のアイデンティティ(1,1)、
名前VARCHAR(10)NOT NULL、
Pの高さと高さ
)
は、sp_help人の
人値への挿入( '无用'、2.2)
を選択*人から
MYDB --useをドロップテーブルに
移動
ドロップテーブルに移動
テスト-
テーブル、フィールドID、名前、Sex
Create table Test
(
Id int identity(1,1)、-自動拡張、データを挿入する必要はありません
Name varchar(8)not null、
Sex char(2)
)
sp_help Test-
データ挿入の形式:
テーブル名(フィールド1、フィールド2、...)の値に
挿入(値1、値2、...)テスト(名前、性別)の値に挿入( '張名' 'female')
INSERT the Test(Name、Sex)values( 'Xiaopeng'、 'female')INTO
INSERT INTO the Test(Name、Sex)values( 'Tao sister'、 'go')-不正なデータ
- -
テストからSELECT *をクエリします-
テーブルに制約を追加し、性別(男性と女性)
の制約をチェックしますALTERテーブル
をnoCheckでテストします-古いデータテーブルの、
制約の追加をチェックしませんCK_Test_Sexチェック(sex in( ' male '、'女 '))
-カスタム整合性:ルールとカスタムタイプ-ルール
形式:ルールルール名を
@variable式
として作成ルールCityRuleを@HeNanCityとして作成in(' Zhengzhou '、' Luoyang '、 「Anyang」、「Kaifeng」、「Shangqiu」、「Nanyang」、「Zhoukou」、「Xinyang」、「Zhumadian」、「Jiaozuo」、「Xinxiang」、「Xuchang」) -
ルールが確立された後、ルールはテーブル
Create table Sut
(
XueHao char(8)Constraint PK_Stu_XH Primary key、
XM varchar(12)not null、
City char(16)
)
-テーブル名を変更します
sp_rename'Sut '、' STU '
select * from Stu-
テーブルにデータ
を挿入しますStu(XueHao、XM、City)に挿入しますvalues( '0401'、 '
Yu Liwei '、 'Zhengzhou')Stu(XueHao、XM、City)値に挿入( '0402'、 'Zhangyang'、 'Nanyang')
Stu(XueHao、XM、City)値に挿入( '0403'、 'Xiao Chenglong'、 'Xinyang')-
ルールをStuのCity列に
バインドしますsp_bindrule'CityRule '、' Stu.City'-成功すると、次のように表示されます:ルールはテーブル列にバインドされています。-
入力を
再テストし、Stu(XueHao、XM、City)値に挿入します( '0406'、 '
Kangfeilong '、 ' Xinyang ')ヘナン以外の都市の学生のStu(XueHao、XM、City)値に挿入します(「0404」、「Deng Xiaoping」、「Nanjing」
tinyintからタイプSumoウェイトを
作成-テーブルを作成、Sumoアスリート
テーブルを作成Sumoアスリート
(
Id int identity(1,1)Constraint PK_Id Primary key、
Name varchar(20)not null、
Weight Sumo weight-Sumoレスリングウェイト:カスタムタイプ、範囲は0〜255
)
相撲レスラーに挿入(名前、重量)値( '山本五十八'、250)
相撲レスラーに挿入(名前、重量)値( '純粋な口の火の鳥'、220)
相撲レスラー(名前、重量)に挿入values('ウェルゲート '、300)-
操作:以前に設定した干支をルールとして設定し、それらを干支列にバインドします-
カスタムタイプの高さ、列タイプを高さとしてテーブルを作成します
-**************************************** ***************************
-ファイルグループとファイルパーティションの確立に続いて、最初のパーティション関数を作成し、対応を確立します。
- -2番目のパーティションスキームの作成(スキーマ)
-パーティション化を実装する3番目のテーブルペア
-
パーティション関数の作成Fun_RateChngDate(datetime)-パーティション関数RateChngDateの作成
値の右の範囲として( '1996-01-01'、 '2000-01-01'、 '2004-01-01'、 '2008-01-01')
------------ -------------------------------------------------- ----------------------
パーティションスキームの作成Sch_RateChangDate--パーティションスキームRateChangDate
をパーティションとして作成RateChngDate--パーティション関数
を(Old、First 、Second、Third、Fourth)-対応するファイルグループにパーティションスキームを確立します
------------------------------- -------------------------------------------------- ---
テーブルEmpPayHistPartを作成します--- RateChngDate(RateChangeDate)の従業員給与レコードテーブル
(
EmployeeId int、
RateChangeDate datetime、---パーティション列
Rate money、
RayFreQuency tinyint、
ModifileDate datetime
)---パーティションスキーム(パーティション列)