MySQL知识总结
来源:互联网 发布:热血传奇源码 编辑:程序博客网 时间:2024/06/14 21:26
结构化查询语言SQL分类:
1、数据定义语言(DDL)
CREATE、ALTER、DROP
2、数据操纵语言(DML)
增加(INSERT)、删除(DELETE)、更新(UPDATE)、查询(SELECT)
3、数据控制语言(DCL)
分配(grant)、回收(revoke)、拒绝(deny)
MySQL下载步骤:
1、登录MySQL官方网站—-www.mysql.com
2、进入download模块
3、选择社区版—–community
4、选择MySQL Community Server下的download链接
5、找到官网推荐的最新版本
6、选择图形化安装包—-MySQL install msi下载
安装MySQL步骤:
1、如之前本机上已安装MySQL,必须先卸载并保证卸载干净
2、点击安装文件
3、选择接受许可开始安装过程
4、选择安装模式为自定义安装
5、进入安装过程
6、完成安装,进入配置向导
MySQL常用数据类型:
整数:
tinyint(1个字节):-128~+127
smallint(2个字节):-32768~32767
int(4个字节)
bigint(8个字节)
定点数:
decimal(p,s),其中p表示总位数,s表示小数位数。定点数所占的字节由p决定,为p+2.
浮点数:
float(p,s):4个字节
double(p,s):8个字节
定点数的小数点固定,数据精度得到保证,但是表示范围较小。浮点数小数点不固定,数据精度不如定点数,但表示范围较大。
日期/时间:
date:年/月/日
time:-839时59分59秒~+839时59分59秒
datetime:日期+时间
文本:
char:固定长度的文本,不够会自动填充
varchar:按实际长度分配字节数
text:存放大文本(无限长),不能作为查询的条件
二进制:bit
数据表的设计及ER图
数据表设计的基本步骤:
- 需求分析阶段:分析客户的业务和数据处理需求
- 概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整
- 详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核
- 代码编写阶段:选择具体数据库进行物理实现,并编写代码实现前端运用。
举例:模拟QQ游戏大厅项目
需求分析:系统需要记录哪些信息?
数据表:游戏表、玩家表、分数表
每个表的字段:
游戏表:编号、名称、类型、难度
玩家表:QQ号、昵称、性别、生日、手机号
分数表:游戏编号、玩家QQ、得分
给表建立数据模型
E-R(Entity-Relationship)实体关系图:
QQ游戏大厅项目E-R图:
使用范式检查数据表设计合理性
什么是范式
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式成递次规范,越高的范式数据库冗余越小。
第一范式(1st NF)
如果每列都是不可再分的最小数据单元(也称最小的原子单元),则满足第一范式
第一范式的目标是确保每列的原子性(不可分割)
例如:
这里由于第一个表中的地址可以再分,所以不满足第一范式。
第二范式(2nd NF)
如果一个关系(表)满足1NF,并且除了主键以外的其他列,都完全依赖于该主键,则满足第二范式。
通俗地说,第二范式就是要求每个表只描述一件事情(表中的所有列都描述的是主键所代表的那个实体)
例如:
这里因为胜者得分与游戏无关,而与游戏难度相关,所以不应该出现在游戏表中。
第三范式(3rd NF)
如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式。
换句话说,第三范式要求表中不存在冗余字段。
这里因为玩家昵称字段可以只出现在玩家表中,再出现在分数表中就造成冗余
- MySQL知识总结
- MySQL常用知识总结
- mysql知识总结
- MYSQL知识总结
- MySQL知识总结
- MySql知识总结
- MySQL知识总结
- MySQL视图知识总结
- Mysql知识总结
- MySQL索引知识总结
- MYSQL的相关知识总结
- JDBC,MySql相关知识总结
- mysql数据库相关知识总结
- 总结Mysql索引相关知识
- Mysql数据库各类知识总结
- JavaWeb前端开发知识总结(mysql)
- MySql高级知识的一些总结
- MYSQL 最近知识总结(1)
- nodejs学习之--fs模块
- rocketmq实战入门
- 【BFS + 保存路径】UVA
- 机房重构之基本数据设定
- 二分查找
- MySQL知识总结
- Css3-load动画
- win10配置本地服务器(报错404问题解决方案)
- javascript创建对象
- 【FCN实践】01 常见问题
- 如何使用kinect2.0 跑通orbslamv2
- Tinyos开发环境的安装与配置
- hibernate笔记-003-使用注解
- HDU 1796 我的第一个容斥定理