当前位置:Gxlcms > mysql > Mysql数据库,表,字符集,主外键等创建的sql模板_MySQL

Mysql数据库,表,字符集,主外键等创建的sql模板_MySQL

时间:2021-07-01 10:21:17 帮助过:47人阅读

##如果存在同名的数据库,删除此同名的数据库。

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;

人气教程排行