MySql插入任何数据,查询到的都是NULL

初入编程,记录自己的每一步

按照网上的教程安装完成MySql-8.0.11

安装教程请转这里

测试时没有问题、创建数据库、创建表、插入查询都正常

随后在使用过程中发现,新建的表可以正常插入数据;但是插入后查询到的所有值都为NULL,而且字段设置的是not null

没多想,以为是编码问题,导致中文无法插入 

试着插入英文和数字,结果查询还是NULL

后来研究到原因:

在安装完数据库后,我查询数据库发现里面自带三个数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

其中一个是名称叫mysql

强迫症作怪,mysql不是我该取的数据库名称吗???我的数据库,这名称没毛病,不能忍,你怎么能就给我占用了!

于是我默默的.....删了!!!

删........了!!

然后创建表后,就无法正常插入数据了

我卸载了MySql重新删除服务,重新安装了一次,这次保留了mysql这个数据库。

插入数据正常,查询正常;

 

顺便去网上了解了一下这三个数据库的作用:

1.information_schema:提供访问数据库元数据的方式。

元数据:关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。

有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”,在MySQL中,把 information_schema 看作是一个信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

2.mysql:MySql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等;mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。

3.performance_schema:用于监控MySql server在一个较低级别的运行过程中的资源消耗、资源等待等情况;这个功能默认是关闭的,需要设置参数performance_schema才可以启动该功能,这个参数是静态参数,只能写在my.cnf 中 不能动态修改。

4.sys:系统数据库,通过这个库可以快速的了解系统的元数据信息;

这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据

存储过程可以执行一些性能方面的配置,也可以得到一些性能诊断报告内容

存储函数可以查询一些性能信息

你可能感兴趣的:(数据库)