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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: ##如果存在同名的数据库,删除此同名的数据库。 DROP DATABASE IF EXISTS cfms;   ##如果不存在字符集为utf8的cfms这个数据库,那么就创建 CREATE DATABASE IF NOT EXISTS cfms CHARACTER SET utf8;   ##第一次时表示使用此数据库 US

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

DROP DATABASE IF EXISTS cfms;

 

##如果不存在字符集为utf8cfms这个数据库,那么就创建

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,FLOATDOUBLE都太大

         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;

 


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
8天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
68 6
|
4天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
5天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
32 3
|
8天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
32 0
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
11天前
|
SQL 存储 关系型数据库
【MySQL实战笔记】02.一条SQL更新语句是如何执行的-2
【4月更文挑战第5天】两阶段提交是为确保`redo log`和`binlog`逻辑一致,避免数据不一致。若先写`redo log`, crash后数据可能丢失,导致恢复后状态错误;若先写`binlog`,crash则可能导致重复事务,影响数据库一致性。一天一备相较于一周一备,能缩短“最长恢复时间”,但需权衡额外的存储成本。
16 1
|
11天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
1月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法
|
30天前
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
82 1