SQL /データベースを構築/外部キープライマリキー&

= 0のSET FOREIGN_KEY_CHECKS;#は、外部キー制約は、MySQLをキャンセルし、テーブルと外部キー制約のテーブル間で確立場合は、テーブルを削除し、テーブル構造を変更することはできません。

IF custinfo` TABLEは`DROPをEXISTS; 
表custinfo``を作成します(
  ` custID` VARCHAR(19)COMMENT NOT NULL '顧客番号'、
  `name`のVARCHAR(10)COMMENT NOT NULL '名前'、
  ` sex` VARCHAR(10) NOT NULL COMMENT 'セックス'、
  `phone` VARCHAR(20)NOT NULL COMMENT '電話番号'、
  ` ID` VARCHAR(19)NULL DEFAULT COMMENT 'ID番号'、
  `districtID` VARCHAR(19)NULL DEFAULT COMMENT「エリアID ' 
  高齢`age` VARCHAR(6)COMMENT NOT NULL'」、
  PRIMARY KEY(` custID`)、
   KEY FK_districtID_1`( `` districtID`)

- ---------------------------- 
- CustInfoの記録
- ------------- --------------- 
BEGIN; 
INSERT INTO `VALUES custinfo`( 'ヤン11'、 'M'、 '13645667783'、 '567891321242345618'、 '10101'、」1' '18は'); 
INSERT値custinfo` INTO `( '2'、 '朱3つのショット'、 'M'、'13、645667890'、 '567891984242345618'、 '20101'、 '28'); 
INSERT VALUES custinfo` INTO`( '3'、 'ジンジャー人'、 'M'、'13、642345799' 、 '567891322489345618'、 '20101'、'18は'); 
INSERT INTO `VALUES custinfo`( 'アンディ'' M '' 13612345690' 4' '' 567891989909345618 '' 30201 '' 28 '); 
INSERT INTO `VALUES custinfo`(5' '。; 'ジョー・スミス3'、 'F'、'13、643455799' 、 '567891322489349898'、 '30201'、'18は') 
VALUES custinfo` INSERT INTO `( 'LiusiのSi'、 'M'、 '13643215690'' 6' 、 '567891989909349007'、 '30201'、 '28'); 
A COMMIT。

- ---------------------------- 
- `cardinfo`ためのテーブル構造
- ---------- ------------------ 
IFをcardinfo` EXISTS `DROPテーブルと、
CREATE TABLEをcardinfo``(
  ` acct_no` VARCHAR(19)NOT NULL 'アカウント' COMMENT、
  `VARCHARのbalance` (19)NOT NULL COMMENT '口座残高'、
  `acct_status` VARCHAR(19)NOT NULL COMMENT 'アカウントステータス'、
  ` openDate` VARCHAR(19)NOT NULL COMMENT 'オープンタイムカード'、
  `openmoney` VARCHAR(19)NOT NULL COMMENT '彼女の口座を開く'、
  `custID` VARCHAR(19)NOT NULL COMMENT '顧客番号'、
  ` districtID`(19)NOT NULL COMMENT VARCHARのアカウントどこの地区のID '、
  PRIMARY KEY( `acct_no`)、
  KEY` FK_districtID`( `districtID`)、 
  KEY` FK_custID`(` custID`)、
  CONSTRAINT `FK_districtID` FOREIGN KEY(` districtID`)REFERENCES `area_dim`(` districtID`)、
  CONSTRAINT `FK_custID` FOREIGN KEY(` custID`)REFERENCES `custinfo`(` custID`)
)ENGINE = InnoDBのデフォルト文字セット= UTF8コメント= '银行卡信息表'; 

- ---------------------------- 
- CARDINFOの記録
- ------------- --------------- 
BEGIN; 
`cardinfo` VALUES( '1010357612121001'、 '888888'、 '1'、 '2019年7月19日8時49分37秒'、 '1.00'、 '1'、 '10101')。INSERT INTO。
`cardinfo` VALUES( '1010357612121002'、 '888888'、 '1'、 '2019年7月18日8時49分37秒'、 '2.00'、 '2'、 '20101')。INSERT INTO。
cardinfo`のVALUES( '1010357612121003'、 '888888'、 ' `。INSERT INTO
cardinfo`のVALUES( '1010357612121004'、 '888888'、 ' `。INSERT INTO
`cardinfo` VALUES( '1010357612121005'、 '888888'、 '1'、 '2019年7月18日8時49分37秒'、 '2.00'、 '2'、 '20101')。INSERT INTO。
コミット; 

DROP TABLE IFは`area_dim`をEXISTS。
`area_dim`(CREATE TABLEを
  ` districtID`のVARCHAR(19)NOT NULL COMMENT '区域ID'、
  'area_name`のVARCHAR(19)NOT NULL COMMENT '区域名'、
  `city_id`のVARCHAR(19)NOT NULL COMMENT '城市ID' 、
  `city_name`のVARCHAR(19)NOT NULL COMMENT '城市名'、
  'province_id`のVARCHAR(19)デフォルトNULLコメント'省ID'、
  「省名` province_name`のVARCHAR(19)デフォルトNULLコメント、
  PRIMARY KEY( ` districtID`)
)ENGINE = InnoDBのデフォルトのCHARSET = UTF8のCOMMENT = '区域码值表';
 
BEGIN; 
INSERT INTOは` '値( '10101'、 'Erqi'をarea_dim` 101 ''鄭州市'' 1 ''河南'); 
INSERT INTOは`VALUES(area_dim`' 20101 ''ハイテクゾーン'' 201 ''青島'' 2 ''山東省'); 
INSERT INTOは`VALUES(area_dim`' '' 30201 ''新'' 301 ''石家荘3 ''河北省「); 
A COMMIT; 
。SET = FOREIGN_KEY_CHECKS 1;被験体の外部に設けられた#制約

注:キー2が二度異なる外部キーの名前と同じフィールドの外のテーブルに設定されています。

おすすめ

転載: www.cnblogs.com/Python-sql007/p/11241495.html