初入编程,记录自己的每一步
按照网上的教程安装完成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结合起来,查询出更加令人容易理解的数据
存储过程可以执行一些性能方面的配置,也可以得到一些性能诊断报告内容
存储函数可以查询一些性能信息