SQL/建立數據庫/主鍵&外鍵


SET FOREIGN_KEY_CHECKS=0;#取消外鍵約束,Mysql中如果表和表之間建立的外鍵約束,則無法刪除表及修改表結構。

DROP TABLE IF EXISTS `custinfo`;
CREATE TABLE `custinfo` (
  `custID` varchar(19) NOT NULL COMMENT '客戶號',
  `name` varchar(10) NOT NULL COMMENT '姓名',
  `sex` varchar(10) NOT NULL COMMENT '性別',
  `phone` varchar(20) NOT NULL COMMENT '手機號',
  `ID` varchar(19) DEFAULT NULL COMMENT '身份證號',
  `districtID` varchar(19) DEFAULT NULL COMMENT '區ID',
  `age` varchar(6) NOT NULL COMMENT '年齡',
  PRIMARY KEY (`custID`),
   KEY `FK_districtID_1` (`districtID`),
  CONSTRAINT `FK_districtID_1` FOREIGN KEY (`districtID`) REFERENCES `area_dim` (`districtID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客戶信息表';

-- ----------------------------
-- Records of custinfo
-- ----------------------------
BEGIN;
INSERT INTO `custinfo` VALUES ('1', '閆一一', '男', '13645667783', '567891321242345618', '10101', '18');
INSERT INTO `custinfo` VALUES ('2', '朱三槍', '男', '13645667890', '567891984242345618', '20101', '28');
INSERT INTO `custinfo` VALUES ('3', '姜為民', '男', '13642345799', '567891322489345618', '20101', '18');
INSERT INTO `custinfo` VALUES ('4', '劉德華', '男', '13612345690', '567891989909345618', '30201', '28');
INSERT INTO `custinfo` VALUES ('5', '張三三', '女', '13643455799', '567891322489349898', '30201', '18');
INSERT INTO `custinfo` VALUES ('6', '劉思思', '男', '13643215690', '567891989909349007', '30201', '28');
COMMIT;

-- ----------------------------
-- Table structure for `cardinfo`
-- ----------------------------
DROP TABLE IF EXISTS `cardinfo`;
CREATE TABLE `cardinfo` (
  `acct_no` varchar(19) NOT NULL COMMENT '賬戶',
  `balance` varchar(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` varchar(19) NOT NULL COMMENT '開戶所在區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 DEFAULT CHARSET=utf8 COMMENT='銀行卡信息表';

-- ----------------------------
-- Records of cardinfo
-- ----------------------------
BEGIN;
INSERT INTO `cardinfo` VALUES ('1010357612121001', '888888', '1', '2019-07-19 08:49:37', '1.00', '1', '10101');
INSERT INTO `cardinfo` VALUES ('1010357612121002', '888888', '1', '2019-07-18 08:49:37', '2.00', '2', '20101');
INSERT INTO `cardinfo` VALUES ('1010357612121003', '888888', '0', '2019-07-19 08:49:37', '3.00', '3', '20101');
INSERT INTO `cardinfo` VALUES ('1010357612121004', '888888', '1', '2019-07-19 08:49:37', '1.00', '1', '10101');
INSERT INTO `cardinfo` VALUES ('1010357612121005', '888888', '1', '2019-07-18 08:49:37', '2.00', '2', '20101');
COMMIT;

DROP TABLE IF EXISTS `area_dim`;
CREATE TABLE `area_dim` (
  `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) DEFAULT NULL COMMENT '省ID',
  `province_name` varchar(19) DEFAULT NULL COMMENT '省名',
  PRIMARY KEY (`districtID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='區域碼值表';

-- ----------------------------
-- Records of area_dim
-- ----------------------------
BEGIN;
INSERT INTO `area_dim` VALUES ('10101', '二七區', '101', '鄭州市', '1', '河南省');
INSERT INTO `area_dim` VALUES ('20101', '高新區', '201', '青島市', '2', '山東省');
INSERT INTO `area_dim` VALUES ('30201', '新區', '301', '石家庄市', '3', '河北省');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1; #設置外檢約束

注:將同一個字段設置成2個表的外鍵時,2次的外鍵名應不同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM