MySQL 大盘点

109 阅读3分钟

本文正在参加「技术专题19期 漫谈数据库技术」活动

一、 mysql的缓存机制?

mysql可以设置查询缓存,但可用性不高。

一、是因为缓存一般设置的内存不大,难以存放大数据量的缓存。

二、是因为缓存实际相当于map形式,key是sql语句,value是结果,只有当sql语句完全一样才能命中缓存,多一个空格都不行。

三、因为一旦数据库执行update、insert或delete操作,缓存都将会被清除。

二、可视化管理

mysql是在服务器后台运行的程序,但可视化程度很差。Navicat premium是一款数据库管理工具,它可以连线到 MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL 资料库,让管理不同类型的资料库更加的方便。

1、连接本地数据库

1.打开软件后点击左上角“连接”,再点击“mysql”选项,它会让你输入建立连接名和mysql数据库的password,(就是开始配置mysql是输入的密码,默认用户名为root),输入正确后成功连接数据库。

2.现在就可以新建数据库了,点开自己新建的连接,右键“新建数据库”,字符集为utf8,排序规则随意,创建好后我们来新建一个表。

L%A1D)UVUNX}I@HJGK%%50R.png

3.创建表的格式如图并保存表名为form。

2443.png

4.写入数据并保存

5.验证是否在数据库中。可以打开mysql自带的MySQL 8.0 command line client,输入密码进入,输入show databases;发现demo数据库存在,输入use demo;再输入select * from form;发现在Navicat Premium中存入的数据显示出来,证明成功连接和建立数据库。

23.png

三、sql语句的关键字顺序

1、from,第一步是找到查询的表

2、on,如果是关联查询,需要用on关联两个表

3、where 找到了需要查询的表,就需要采用where来对数据进行过滤

4、group by,对过滤的数据进行分组(返回的是一个游标而不是一个表,所以可以从这之后使用别名,而where就不可)

5、having 对group by的结果进行过滤

6、select 查询需要返回的列

7、order by对返回对数据进行排序

四、一些小细节

1、varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索引效率。

2、表必备三字段:id, create_time, update_time。

说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。create_time, update_time的类型均为 datetime 类型。

3、小数类型为 decimal,禁止使用 float 和 double。

说明:在存储的时候,float 和 double 都存在精度损失的问题,很可能在比较值的时候,得到不正确的结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数并分开存储。

本文正在参加「技术专题19期 漫谈数据库技术」活动

烟火向星辰,所愿皆成真!