本文正在参加「技术专题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,排序规则随意,创建好后我们来新建一个表。
3.创建表的格式如图并保存表名为form。
4.写入数据并保存
5.验证是否在数据库中。可以打开mysql自带的MySQL 8.0 command line client,输入密码进入,输入show databases;发现demo数据库存在,输入use demo;再输入select * from form;发现在Navicat Premium中存入的数据显示出来,证明成功连接和建立数据库。
三、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期 漫谈数据库技术」活动
烟火向星辰,所愿皆成真!