这是我参与更文挑战的第13天,活动详情查看: 更文挑战
已有数据库的解析
- information_schema :数据库对象信息,如用户信息,列信息,字符,分区
- performance_schema:存储数据库服务器性能参数
- mysql:存储数据库用户权限信息
- sys:5.7版本之后才有,降低对象信息和性能参数的查询复杂度,视图化,能够快速获取谁用了多少资源,谁连接过
常用字符集
- utf8:使用一至四个字节为每个字符编码,一个汉字一般为3字节
- utf8mb4 :可以存表情和复杂汉字
1、MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。
2、好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
https://www.cnblogs.com/zhengwangzw/p/9407838.html
创建,查看,切换,删除数据库
- create database test;
- show databases;
- use mysql;
- drop database test;
存储引擎
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。
这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。
MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。
- 存储引擎分类
- MyISAM: 5.5默认,不支持事务,不支持外键,访问速度非常快
- INNODB: 5.5之后默认,事务支持,功能强大,占用磁盘空间更多,效率低一点
- MEMORY:内存型,访问速度非常快,不安全,服务器关闭数据会丢失
Mysql中不同的表可以指定不同的存储引擎
数据类型
- 分类
- 数值型
- 字符串类型
- 日期时间类型
- 常用数据类型
- double
- char
- varchar
- text
- blob
- date
- time
- datetime
- decimal