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 数据库名;
相关推荐
qq_3216653330 分钟前
mysql 数据库迁移到达梦数据库
数据库·mysql
Hello.Reader2 小时前
Redis大Key问题全解析
数据库·redis·bootstrap
靖顺3 小时前
【OceanBase 诊断调优】—— packet fly cost too much time 的根因分析
数据库·oceanbase
liuxin334455663 小时前
学籍管理系统:实现教育管理现代化
java·开发语言·前端·数据库·安全
yuanbenshidiaos6 小时前
C++--------------树
java·数据库·c++
dengjiayue7 小时前
MySQL 查询大偏移量(LIMIT)问题分析
数据库·mysql
言之。7 小时前
【MySQL】在MySQL中如何定位慢查询?
数据库·mysql
DashVector8 小时前
如何通过HTTP API插入Doc
数据库·人工智能·http·阿里云·向量检索
DashVector8 小时前
如何通过HTTP API分组检索Doc
服务器·数据库·http·数据库开发·数据库架构
Suwg2098 小时前
【MySQL】踩坑笔记——保存带有换行符等特殊字符的数据,需要进行转义保存
数据库·笔记·mysql