mysql数据库相关知识【MYSQL】

mysql数据库相关知识【MYSQL】

  • [一. 库](#一. 库)
    • [1.1 登录数据库管理系统](#1.1 登录数据库管理系统)
    • [1.2 什么是数据库](#1.2 什么是数据库)
      • [1.2.1 mysqld与mysql](#1.2.1 mysqld与mysql)
    • [1.3 编码集和校验集](#1.3 编码集和校验集)
      • [1.3.1 什么是编码集和校验集](#1.3.1 什么是编码集和校验集)
      • [1.3.2 查看库对应的编码集和校验集](#1.3.2 查看库对应的编码集和校验集)
      • [1.3.3 用指定的编码集和校验集](#1.3.3 用指定的编码集和校验集)
    • [1.4 库的操作](#1.4 库的操作)

一. 库

1.1 登录数据库管理系统

这个算是第一个学的mysql指令了吧。

这里我们就来稍微讲一下这个指令的含义。

bash 复制代码
mysql -h 127.0.0.1  -P 3306   -u root -p

-h:指明登录部署mysql的主机
-P:访问的端口号
-u:以什么身份去访问
-p :密码

还记得前面安装的博客中
my.cnf这个文件

它就是mysql的配置文件

所以得益于配置文件:
不加-h默认连接本地服务器配置的mysql
不加-p 默认就用的默认端口

1.2 什么是数据库

在我们口语上,数据库一般指的是:在磁盘或者内存中存储的特定结构组织的数据
说白了就是用来存储数据的库

指的就是这里的一个个数据库文件,这些都是保存数据的库,这里可以说是我们口语意义上的数据库。

但是上面既然提了使用口语的,那数据库肯定没有表面上这么简单了,所以接下来就要详细介绍了。

1.2.1 mysqld与mysql

在介绍数据库的到底是什么之前,我们首先要清楚数据库的本质是什么?

数据库的本质其实是:基于C(客户端)S(服务端)模式的一种网络服务,是针对数据内容存储的一套解决方案

既然是CS模式,mysql中肯定有客户端和服务端了。

数据库服务的客户端:mysql

其实我们平常一直用的mysql其实是它的服务端,但是可不能把mysql这个服务端看成mysql服务的全部了

数据库服务的服务器端:mysqld

还记得每次我们启用mysql服务的时候,需要在指令中将mysqld进行开启。

这里开启的mysqld,实际上就是服务端。

知道mysql的服务端和客户端后

实际上他们的作用我们也能推测出来了

大致的流程就是这样。

这里我们了解客户端和服务端后

这里就能介绍mysql到底是个什么了。

用户通过客户端进行操作

用户的操作经过服务端审查后,服务端帮助用户进行磁盘上的文件操作

文件上保存的就是数据库和各种数据表

这样的每个环节每个步骤就是数据库了

我们口头上的数据库,指的就是其中最后的一个部分。

这里小提一下。

建表和建库本质就是在linux磁盘中创建文件和目录

数据库本质也是文件,我们前面提了,是mysqld服务端进行磁盘的操作的。

那这里我们其实也可以越过客户端自己去创建。

这里是我的mysql路径下的数据库:

其实数据库的本质是目录,这里我们在mysql的路径下创建一个test目录

这里我们再登录到数据库系统中

这里就能发现多出了test的这个文件

1.3 编码集和校验集

1.3.1 什么是编码集和校验集

创建数据库,有两个编码集:
1.数据库编码集------数据库存储的数据
2.数据库校验集------读取数据库的数据或者操作时采用的编码格式

说直白点:编码集就是数据库中的表存储的数据类型

校验集就是对表中的数据进行读取和操作时,需要遵从的对应数据类型的方式。

1.3.2 查看库对应的编码集和校验集

1.查看对数据库存储的默认编码集:

bash 复制代码
show variables like 'character_set_database';

这样就能看到数据库存储的默认编码集

这个默认编码集可以再my.cnf配置文件中进行更改

因为之前在安装mysql博客中演示过,这里就不演示了。

2.查看对数据库操作默认校验集:

bash 复制代码
show variables like 'collaction_database';

这个同样也能在配置文件中设置

因为我没设置过,所以这里显示的就是空。

3.查看总体的默认校验集

bash 复制代码
show variables like 'collation_%';

4.查看数据库支持的所有字符集

bash 复制代码
show charset;

创建了数据库后,在数据库文件目录中可以看见db.opt

这里随便创建一个数据库进行查看

这里我们可以用cat来进行查看

这里就能看到它的编码集和校验集。

1.3.3 用指定的编码集和校验集

创建指定编码集和校验集:

sql 复制代码
create database d4 charset=utf8 collate utf8_general_ci;

这里我们能在db.opt中进行验证。

修改字符集和校验集:

sql 复制代码
alter database d2 charset=gbk collate gbk_chinese_c1;

1.4 库的操作

展现所有数据库

sql 复制代码
show databases;

** 数据库名------创建数据库**

sql 复制代码
create database 数据库名;

数据库名 ------删除数据库

sql 复制代码
drop database 数据库名;

查看当前在哪个数据库

sql 复制代码
select database();

展现当时创建数据库用的指令

sql 复制代码
show create database 数据库名;
相关推荐
团儿.41 分钟前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
程序猿小D1 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
权^2 小时前
MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)
大数据·数据库·学习·mysql
Code成立2 小时前
1、深入理解Redis线程模型
数据库·redis·bootstrap
缘友一世4 小时前
macos安装mongodb
数据库·mongodb·macos
万事大吉CC5 小时前
mysql单表查询·3
数据库·mysql
bin91536 小时前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
Miqiuha6 小时前
lock_guard和unique_lock学习总结
java·数据库·学习
一 乐7 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
Java探秘者11 小时前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea