MYSQL学习遇到的问题总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44936331/article/details/90782167

MYSQL学习遇到的问题总结
1.JDBC连接mysql拒绝访问 java.sql.SQLException Access denied for user ‘root@localhost’(using password : YES)
在这里插入图片描述
在配置jdbc链接是如果发生上面的错误有三种解决方法:
1.最简单的密码错误
2.远程连接的权限被限制了
3.卸载掉系统中所有和数据库相关的文件和服务,下面是大致步骤,当你感到无解时这个绝对可以成功
卸载时,首先关闭服务,尝试使用安装程序进行卸载。如果不行,尝试以下方法:

  1. 停止mysql服务
    net stop mysql
  2. 卸载mysql服务
    cd D: \mysql\bin
    mysqld –remove
  3. 删除 服务
    sc delete MySQL57(名字在服务中,右键属性查看)
  4. 删除文件
    删除D: \mysql整个文件夹
  5. 删除注册表
    启动cmd->输入regedit->搜索MySQL,右键全部删除(或者依据以下路径找到MySQL,右键删除)
    HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
    HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL
    卸载完毕再重新安装就可以解决问题了
    2.(1)对于组函数的使用,比如AVG()函数,如果查找某条记录中的字段为空,则自动忽略该条记录,该条记录不会影响到查询的结果。

在这里插入图片描述
在这里插入图片描述
所以,AVG()忽略NULL值,而不是将其作为“0”参与计算

(2)COUNT(*),对表中行数进行计数,不管是否有NULL
COUNT(字段名),对特定列有数据的行进行计数,忽略NULL值

(3)SUM()
可以对单个列求和,也可以对多个列运算后求和
忽略NULL值,且当对多个列运算求和时,如果运算的列中任意一列的值为NULL,则忽略这行的记录。
例如: SUM(A+B+C),A、B、C 为三列,如果某行记录中A列值为NULL,则不统计这行。
3.各种数据类型以及占用字节问题

1)整形在这里爱的图片描述
2)浮点型
(1)单精度浮点数float占4字节,float默认能精度到6位有效数字。
(2)双精度浮点数double占8字节,float默认能精度到16位有效数字。
(3)MySQL使用DECIMAL类型去存储对精度要求比较高的数值,比如金额,叫做定点数。decimal在mysql内存是以字符串存储的。声明语法是DECIMAL(M,D),占用字节 M+2 bytes。

3)日期和时间型
DATETIME 和 TIMESTAMP 类型:
在这里插入图片描述
其中除了日期和时间数据类型,MySQL 还支持 DATETIME 和 TIMESTAMP 这两种混合类型。它们可以把日期和时间作为单个的值进行存储

4).CHAR和VARCHAR
char根据用户自定义的值来决定所占字节,而varchar的长度是根据实际存储的数据的值的字节决定的,但是要注意的是,varchar实际占用的长度是实际存储的值的字节数+1,这一个字节用于保存实际使用了多大的长度。
5)TEXT 和 BLOB 类型
对于字段长度要求超过 255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、声音文件等二进制数据类型。TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。
比指定类型支持的最大范围大的值将被自动截短。一般不会把文件存储在数据库中,数据库中只存储文件所在本地路径,根据路径在本地中使用文件。

最后附上一张图搞懂java中英文对应的字节编码所占用字节数的表格
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44936331/article/details/90782167