##如果存在同名的数据库,删除此同名的数据库。 DROP DATABASE IF EXISTS cfms; ##如果不存在字符集为utf8的cfms这个数据库,那么就创建 CREATE DATABASE IF NOT EXISTS cfms CHARACTER SET utf8; ##第一次时表示使用此数据库 USE cfms; ##如果存在users这个表了,就删除重新创建 DROP TABLE IF EXISTS cfms.users; ##如果存在要创建的数据库就删除 ##如果不存在这个表了,就重新创建。 CREATE TABLE IF NOT EXISTS cfms.users( id VARCHAR(36) NOT NULL, ##使用UUID,它是36位的 username VARCHAR(10) NOT NULL, ##用户名 password VARCHAR(32) NOT NULL, ##这里使用的是32位的MD5加密 sex VARCHAR(4) DEFAULT NULL, ##你的性别 userage VARCHAR(3) DEFAULT NULL , ##你的年龄 birthday VARCHAR(10) DEFAULT NULL, ##出生日期 email VARCHAR(100) NOT NULL, ##电子邮件 edubackground CHAR(1) DEFAULT NULL, ##你的学历 mobile VARCHAR(11) DEFAULT NULL, ##手机号码 tel VARCHAR(15) DEFAULT NULL, ##联系电话 regtime BIGINT(13) DEFAULT NULL, ##注册时间存的是时间戳,Java的时间戳为13为所以用BIGINT,用FLOAT和DOUBLE都太大 regip VARCHAR(15) DEFAULT NULL, ##注册的ip地址,为十五位的 logtimes INT(10) DEFAULT 0, ##登录次数 CONSTRAINT PRIMARY KEY(id) ##这个表中id作为主键CONSTRAINT-UNIQUE-KEY(password)##为密码添加唯一性约束 ) ENGINE=INNODB DEFAULT CHARSET=utf8; ##文件分类对应的按名称分类的表 DROP TABLE IF EXISTS cfms.namecategory; CREATE TABLE IF NOT EXISTS cfms.namecategory( id VARCHAR(36) NOT NULL, ##使用UUID,它是36位的 namecategory VARCHAR(100), ##文件的类型名称 description text, ##文件描述 user_id VARCHAR(36) NOT NULL, ##文件分类者 CONSTRAINT PRIMARY KEY(id), CONSTRAINT namecategory_user_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8; ##文件分类对应的按文件类型分类的表 DROP TABLE IF EXISTS cfms.typecategory; CREATE TABLE IF NOT EXISTS cfms.typecategory( id VARCHAR(36) NOT NULL, ##使用UUID,它是36位的 typecategory VARCHAR(100), ##文件的类型名称 description text, ##文件描述 user_id VARCHAR(36) NOT NULL, ##文件分类者 CONSTRAINT PRIMARY KEY(id), CONSTRAINT typecategory_user_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8; ##文件分类对应的按文件时间分类的表 DROP TABLE IF EXISTS cfms.timecategory; CREATE TABLE IF NOT EXISTS cfms.timecategory( id VARCHAR(36) NOT NULL, ##使用UUID,它是36位的 timecategory VARCHAR(100) NOT NULL, ##文件的类型名称 description text, ##文件描述 user_id VARCHAR(36) NOT NULL, ##文件分类者 CONSTRAINT PRIMARY KEY(id), CONSTRAINT timecategory_user_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8; ##文件分类对应的按文件大小分类的表 DROP TABLE IF EXISTS cfms.sizecategroy; CREATE TABLE IF NOT EXISTS cfms.sizecategroy( id VARCHAR(36) NOT NULL, ##使用UUID,它是36位的 sizecategroy VARCHAR(100) NOT NULL, ##文件的类型名称 size_min VARCHAR(20) DEFAULT NULL, ##文件最小值 size_max VARCHAR(20) DEFAULT NULL, ##文件最大值 user_id VARCHAR(36) NOT NULL, ##文件分类者 CONSTRAINT PRIMARY KEY(id), CONSTRAINT sizecategroy_user_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8; ##如果存在文件信息表,那么就删除,如果不存在就创建 DROP TABLE IF EXISTS cfms.files; ##如果不存在这个表,就重新创建 CREATE TABLE IF NOT EXISTS cfms.files( id VARCHAR(36) NOT NULL, ##文件的主键值 name VARCHAR(250) NOT NULL, ##上传文件的名称,文件的uuid名 realname VARCHAR(250) NOT NULL, ##上传文件的真是名称 path VARCHAR(250) NOT NULL, ##文件的位置 uptime BIGINT(13), ##文件的上传时间 description text, ##文件的描述 size BIGINT(13) DEFAULT NULL, ##文件大小 keyword VARCHAR(100) DEFAULT NULL, ##文件关键字 user_id VARCHAR(36) NOT NULL, ##上传人 namecategory_id VARCHAR(36) NOT NULL, typecategory_id VARCHAR(36) NOT NULL, timecategory_id VARCHAR(36) NOT NULL, CONSTRAINT PRIMARY KEY(id), CONSTRAINT files_user_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT files_namecategory_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT files_typecategory_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT files_timecategory_id_FK FOREIGN KEY(user_id) REFERENCES cfms.users(id) ON DELETE CASCADE ON UPDATE CASCADE )ENGINE=INNODB DEFAULT CHARSET=utf8; |