创建数据库:CREATE DATABASE 数据库名;
-- 创建数据库library,使用字符集utf8,使用字符排序规则utf8_general_ciCREATE DATABASE `library` CHARACTER set utf8 COLLATE utf8_general_ci;
创建表:CREATE DATABASE 表名();
MySQL不支持列级创建外键约束,因此只能使用CONSTRAINT来创建表级外键约束,也只能使用CONSTRAINT来创建表的联合主键约束。
-- 图书目录表CREATE TABLE `Books` (`bookNo` CHAR ( 9 ) COMMENT '书号(主键)' 【 列级主键约束:PRIMARY KEY 】,`ISBN` CHAR ( 13 ) not null COMMENT '每种书唯一编号(外键)',`location` VARCHAR ( 40 ) not null COMMENT '图书存放位置',`bstatus` CHAR ( 1 ) not null COMMENT '注释',`ctr_no` TINYINT not null COMMENT '注释',CONSTRAINT PK_bookNo PRIMARY KEY ( `bookNo` ),CONSTRAINT FK_ISBN FOREIGN KEY ( `ISBN` ) REFERENCES `BookInfo` ( `ISBN` ),CONSTRAINT CK_bstatus CHECK ( `bstatus` = 0 OR 1 OR 2 OR 3 )) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 佑溪村数据库DROP DATABASE if EXISTS `yxc`;CREATE DATABASE IF NOT EXISTS `yxc` CHARACTER set utf8 COLLATE utf8_general_ci;-- 使用佑溪村数据库use yxc;-- 1.角色表DROP TABLE if EXISTS `villager_role`;CREATE TABLE IF NOT EXISTS `villager_role`(`R_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识角色的编码',`role_name` VARCHAR(20) not null UNIQUE COMMENT '角色名',`role_duty` VARCHAR(255) NULL COMMENT '相关职责',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 2.残疾级别表DROP TABLE if EXISTS `disability_level`;CREATE TABLE IF NOT EXISTS `disability_level`(`DL_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识残疾级别的编码',`level` VARCHAR(20) not null UNIQUE COMMENT '残疾级别',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 3.户主关系类型表DROP TABLE if EXISTS `family_relation`;CREATE TABLE IF NOT EXISTS `family_relation`(`FR_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识户主关系类型的编码',`relation_type` VARCHAR(5) not null UNIQUE COMMENT '村民与户主的血缘关系',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 4.家庭贫困类型表DROP TABLE if EXISTS `family_pool`;CREATE TABLE IF NOT EXISTS `family_pool`(`FP_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识户主关系类型的编码',`relation_type` VARCHAR(5) not null UNIQUE COMMENT '村民与户主的血缘关系',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 5.土地类型表DROP TABLE if EXISTS `land`;CREATE TABLE IF NOT EXISTS `land`(`L_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识土地类型的编码',`land_type` VARCHAR(10) not null UNIQUE COMMENT '土地类型',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 6.种植类型表DROP TABLE if EXISTS `plant`;CREATE TABLE IF NOT EXISTS `plant`(`P_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识种植农作物类型的编码',`plant_type` VARCHAR(10) not null UNIQUE COMMENT '农作物名',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 7.养殖类型表DROP TABLE if EXISTS `breed`;CREATE TABLE IF NOT EXISTS `breed`(`B_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识养殖动物类型的编码',`breed_type` VARCHAR(10) not null UNIQUE COMMENT '养殖动物名',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 8.民问卷调查表(匿名调查)DROP TABLE if EXISTS `villager_survey`;CREATE TABLE IF NOT EXISTS `villager_survey`(`VS_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 问卷调查流水号',`survey_time` date not null COMMENT '调查时间',`family_relation` VARCHAR(255) null COMMENT '家庭成员关系和睦情况',`neighbor_relation` VARCHAR(255) null COMMENT '邻居关系和睦情况',`evaluateion` VARCHAR(255) null COMMENT '对村委干部的评价',`difficulty` VARCHAR(255) null COMMENT '有何困难',`suggestion` VARCHAR(255) null COMMENT '有何建议',`life_happiness` VARCHAR(255) null COMMENT '对于目前生活是否幸福的看法与原因',`assistance_measures` VARCHAR(255) null COMMENT '目前享有的主要帮扶措施是什么',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 9.村组信息表DROP TABLE if EXISTS `village_group`;CREATE TABLE IF NOT EXISTS `village_group`(`VG_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识村组类型的编码',`family_amount` int(3) not null COMMENT '一个村组包含的家庭个数',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 10.家庭户籍表DROP TABLE if EXISTS `family`;CREATE TABLE IF NOT EXISTS `family`(`V_ID` int(15) not null PRIMARY KEY COMMENT '主键: 户主(村民)ID ',`family_number` VARCHAR(10) not null UNIQUE COMMENT '房屋门牌号',`people_amount` int(2) not null COMMENT '家庭人口数',`family_highway` int(1) null DEFAULT 0 COMMENT '入户公路状况: 0表示未入户: 公路未修到家门口,1表示已入户: 公路已修到家门口',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 11.村民表DROP TABLE if EXISTS `villager`;CREATE TABLE IF NOT EXISTS `villager`(`V_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识村民的编码',`villager_name` VARCHAR(20) not null COMMENT '姓名',`villager_sex` int(1) NULL DEFAULT 1 COMMENT '性别: 0表示女,1表示男',`villager_age` int(3) NULL COMMENT '年龄',`villager_birthday` date NOT NULL COMMENT '出生年月日',`villager_phone` char(11) NULL UNIQUE COMMENT '联系电话:固定11位',`villager_number` char(18) NULL UNIQUE COMMENT '身份证号:固定18位',`villager_nation` VARCHAR(10) NULL DEFAULT '汉族' COMMENT '民族',`political_outlook` VARCHAR(10) NULL DEFAULT '群众' COMMENT '政治面貌',`villager_marriage` int(1) NULL DEFAULT 0 COMMENT '婚姻状况: 0表示未婚,1表示已婚,2表示离异' ,`villager_health` VARCHAR(255) NULL COMMENT '身体状况',`is_student` int(1) NULL DEFAULT 1 COMMENT '是否学生: 0表示否,1表示是',`is_disability_certificate` int(1) NULL DEFAULT 0 COMMENT '是否办理残疾证: 0代表未办理,1代表已办理',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 12.村民工作信息表DROP TABLE if EXISTS `job_info`;CREATE TABLE IF NOT EXISTS `job_info`(`JI_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识工作信息的编码',`job_unit` VARCHAR(20) not null COMMENT'工作单位',`job_income` int(10) not null COMMENT'月工资',`job_item` VARCHAR(20) null COMMENT'近期工作内容',`job_province` VARCHAR(10) null COMMENT'省份',`job_city` VARCHAR(10) null COMMENT'城市',`job_county` VARCHAR(10) null COMMENT'县',`job_address` VARCHAR(20) null COMMENT'详细地址',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 13.村民患病信息表DROP TABLE if EXISTS `illness_info`;CREATE TABLE IF NOT EXISTS `illness_info`(`II_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识患病信息的编码',`illness_name` VARCHAR(20) not null COMMENT'所患何病',`illness_time` datetime null COMMENT'患病时间',`is_chronic_disease` int(1) null DEFAULT 0 COMMENT'是否属于慢性病: 0表示否,1表示是',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 14.残疾补贴表DROP TABLE if EXISTS `disability_payments`;CREATE TABLE IF NOT EXISTS `disability_payments`(`DP_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识残疾补贴的编码',`dp_time` datetime not null COMMENT'领取时间',`dp_money` int(10) not null COMMENT'补贴金额',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 15.养老补贴表DROP TABLE if EXISTS `pension_subsidy`;CREATE TABLE IF NOT EXISTS `pension_subsidy`(`PS_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识养老补贴的编码',`ps_time` datetime not null COMMENT'领取时间',`ps_money` int(10) not null COMMENT'养老补贴金额: age>=60方可领取',`advanced_age_money` int(10) null COMMENT'养老补贴金额: age>=80方可领取',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 16.村民保障表DROP TABLE if EXISTS `villager_ensure`;CREATE TABLE IF NOT EXISTS `villager_ensure`(`V_ID` int(15) not null PRIMARY KEY COMMENT '主键(外键): 村民id,标识一行记录属于哪一个村民',`enjoy_mm` int(1) not null DEFAULT 0 COMMENT '是否享受慢门政策: 0表示否,1表示是',`manage_mm` int(1) not null DEFAULT 0 COMMENT '是否办理慢门政策: 0表示否,1表示是',`manage_medical` int(1) not null DEFAULT 0 COMMENT '是否办理医疗保险: 0表示否,1表示是',`manage_pension` int(1) not null DEFAULT 0 COMMENT '是否办理养老保险: 0表示否,1表示是',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 17.土地所属详情表DROP TABLE if EXISTS `family_land`;CREATE TABLE IF NOT EXISTS `family_land`(`V_ID` int(15) not null COMMENT '主键(外键): 户主(村民)ID ',`L_ID` int(15) not null COMMENT '主键(外键): 标识土地类型',`land_area` double null COMMENT '土地面积',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 18.种植类型详情表DROP TABLE if EXISTS `family_plant`;CREATE TABLE IF NOT EXISTS `family_plant`(`V_ID` int(15) not null COMMENT '主键(外键): 户主(村民)ID ',`P_ID` int(15) not null COMMENT '主键(外键):标识种植的农作物类型',`plant_amount` int(10) null COMMENT '种植数量',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 19.养殖类型详情表DROP TABLE if EXISTS `family_breed`;CREATE TABLE IF NOT EXISTS `family_breed`(`V_ID` int(15) not null COMMENT '主键(外键): 户主(村民)ID ',`B_ID` int(15) not null COMMENT '主键(外键): 标识养殖的动物类型',`breed_amount` int(10) null COMMENT '养殖数量',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 20.家庭年收支表DROP TABLE if EXISTS `income_expenditure`;CREATE TABLE IF NOT EXISTS `income_expenditure`(`IE_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识家庭年收支的编码',`survey_time` date not null COMMENT '调查时间',`genera_income` int(10) not null COMMENT '年总收入',`genera_expenditure` int(10) not null COMMENT '年总支出',`percapita_income` int(10) null COMMENT '人均年净收入: (年总收入-年总支出)/家庭人口数',`production_expenditure` int(10) null COMMENT '年生产支出',`medical_expenditure` int(10) null COMMENT '年医疗支出',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 21.家庭保障表DROP TABLE if EXISTS `family_ensure`;CREATE TABLE IF NOT EXISTS `family_ensure`(`V_ID` int(15) not null PRIMARY KEY COMMENT '主键(外键): 户主(村民)ID,标识一行记录属于哪一户家庭',`house_ensure` int(1) not null default 1 COMMENT '安全住房是否保障: 0表示否,1表示是',`house_qusetion` VARCHAR(255) null COMMENT '安全住房存在的问题',`water_ensure` int(1) not null default 1 COMMENT '安全饮水是否保障: 0表示否,1表示是',`water_qusetion` VARCHAR(255) null COMMENT '安全饮水存在的问题',`education_ensure` int(1) not null default 1 COMMENT '基础教育是否保障: 0表示否,1表示是',`education_qusetion` VARCHAR(255) null COMMENT '基础教育存在的问题',`student_amount` int(2) not null COMMENT '家庭学生个数',`gmt_create` datetime null COMMENT '元组创建时间',`gmt_modified` datetime null COMMENT '元组修改时间')ENGINE=InnoDB DEFAULT CHARSET=utf8;
