Mysql使用小结
mysql数据库备份
三种方法备份 MySQL 数据库(含docker)
MySql三种备份方式
mysql的备份表的几种方法
将MySQL查询结果导出为SQL文件
如何将MySQL查询结果导出为SQL文件(简单易学的操作方法)
修改mysql字段默认值
# 添加新字段 并设置默认值
alter table `user_tb` add column `user_name` varchar(20) not null DEFAULT '默认值';
# 修改原有默认值
alter table `user_tb` alter column `user_name` set default '默认值';
alter table `user_tb` change column `user_name` `user_name` varchar(20) not null DEFAULT '默认值';
alter table `user_tb` MODIFY column `user_name` varchar(20) not null DEFAULT '默认值';
# 删除原有默认值
alter table `user_tb` alter column `user_name` drop default;
# 增加默认值(和修改类似)
alter table `user_tb` alter column `user_name` set default '默认值';
MySQL - SQL语句增加字段/修改字段/修改类型/修改默认值
MySQL - SQL语句增加字段/修改字段/修改类型/修改默认值
mysql数据库锁表如何解锁
Data truncation : Out of range value of for column
在执行一个update语句的时候,报错Data truncation : Out of range value of for column ‘CLAIM_QUANTITY’…
update语句是把’CLAIM_QUANTITY’这个字段的值更新为一个大于1一百万的值,报错了,看数据库这个字段的定义:
CLAIM_QUANTITY
double(10,4) DEFAULT NULL COMMENT;
double(10,4) 限制这个字段整数位最多为6位,小数后最多4位,所以这个字段存储最大值是999999.9999,所以当存储一个一百万的值,大于的它可以存储的最大值,所以报错了。
MySQL报错packets larger than max_allowed_packet are not allowed
MySQL报错packets larger than max_allowed_packet are not allowed
MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败
修复方法:
1.修改配置文件my.ini
max_allowed_packet = 10M
2.使用命令修改
mysql> set global max_allowed_packet = 1024102410
mysql大字段如何存储
TEXT、BLOB、JSON类型
在MySQL中,我们可以使用TEXT和BLOB类型来存储大字段数据。这两种类型的区别在于:TEXT类型是用来存储文本数据,BLOB类型用于存储二进制数据。TEXT可以存储最大长度为65,535个字符的文本数据,而BLOB类型可以存储最大长度为65,535个字节的二进制数据。如果需要存储更大的数据,推荐使用MEDIUMTEXT和MEDIUMBLOB类型,最大长度为16,777,215个字符和字节。如果需要存储更大的数据,可以使用LONGTEXT和LONGBLOB类型,最大长度为4,294,967,295个字符和字节。
JSON类型实际上是一种文本类型(TEXT),其最大长度受到MySQL文本类型的限制。JSON数据类型的最大存储大小是通过系统变量max_allowed_packet来限制的存储文件
如果需要存储的大字段是文件类型,可以使用MySQL的文件存储功能。这种方法可以提高数据库的读写速度,并且可以减少数据库的存储空间。有两种方式可以存储文件:将文件直接存储到磁盘中,或将文件的地址存储到数据库中,然后在需要时动态加载文件。推荐使用第二种方式,因为这样可以避免数据库中存储大量的二进制数据。压缩数据
如果需要存储的大字段数据较大,可以考虑将该数据进行压缩。MySQL支持多种压缩算法,如Zlib和LZO等。压缩后的数据可以减少磁盘空间的使用,并且可以提高数据库的查询和读取效率。