初识MySQL · 库的操作

目录

前言:

增

有关编码

删

查

改


前言:

由前文可得,MySQL是目前主流的数据库,mysql是客户端,mysqld是一种网络服务,mysqld是一种数据库服务,而对于数据库来说,是一种存储数据、组织数据的一种手段,那么我们肯定就是要学数据库是如何操作的?对于数据库我们应该如何增删查改?删除了如何备份等问题。

那么就随着博主的脚步,进入到今天的主题吧!


增

增加数据库,也就是创建数据库,现在我们先进入到数据库:

使用指令sudo mysql -uroot即可进入,进入之后,我们现在尝试创建一个数据库,基本语法为:

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

我们在第一章已经创建过了,这里简单顺便简单回忆一下:

展现数据库是使用show databases,随即我们使用指令create database db_name; 创建了数据库。

其中大写的表示关键字,所以CREATE代表的是create,\[\]里面的代表是可选项,比如if not exists:

我们虽然是创建成功了,但是也有警告,因为这里已经存在了的数据库,所以不会重新创建新表,报了个警告直接返回了就。

那么下面的两个,就涉及到了编码了。

有关编码

在MySQL里面,存在两种编码,一种是字符集,一种是字符集的校验规则,比如我们在vs2022常用的字符集就是utf-8,偶尔会有utf-16的,这是用于存储,也就是数据库采用的一种存储方式。那么校验规则就是对该套字符集的一种校验,不同的校验规则有不同的方式去校验,我们一会儿可以看看。

那么我们不妨指定一下字符集和校验规则,说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci,查看对应的字符集和校验规则是show charset; show collation;

我们创建一个字符集为utf8的数据库:

创建一个字符集为utf8 校验规则为utf8_general_ci的数据库:

因为我这里是ubuntu环境,所以有些告警。

这些是默认的配置,而utf8mb4是utf8的扩展,所以会有些告警,但是不影响。

我们不妨验证一下不同的校验规则的影响是什么:

都使用utf8的字符集,这个使用校验规则utf8_general_ci,特点是不区分大小写:

这个使用utf8_bin,区分大小写:

插入对应数据,插入完毕之后,我们进行查询:

使用select * from person查询该表的所有结果,这是test,utf8_general_ci的,不区分大小写。

对于test2,区分大小写的,所以查询,只能查到一个b,没有B。

那么对于数据库来说,我们还可以进行排序:

这是test1的:

这是test2的:

那么以上是创建数据库以及数据库中的两种规则。


删

删除还是有点说法的,我们在数据库基础部分,知道了创建数据库的本质就是创建目录:

在/var/lib/mysql的目录下,我们就可以可以看到某些蓝色的目录,其中test1 test2就是我们创建的数据库,那么我们删除数据库,是否可以直接在这里面删除呢?

删除肯定是可以的,但是非常非常不推荐这种删除方式,实在是太业余了的感觉。

删除使用的sql语句是drop:

这样就删除了。

那么对于数据如何备份,这里给个链接,同学们自行查阅哦~

超详细讲解:数据库的备份与数据恢复方法举例与说明(完全备份、差异备份、增量备份)_举例说明增量备份-CSDN博客


查

对于查找这个功能来说,我们可以查数据库,也可以查数据库中的表:

使用的sql语句都是show ...,比如show databases; show tables;等。

那么同样,我们也可以show创建语句,而这里和我们平常变成时候不一样的是/**/并不是注释,而是表示如果mysql的版本大于4.0.1的话,就执行这条语句,比如CHARAVTER SET就代表存储的字符集是utf8mb3,其中的'test1'是为了防止数据库名刚好是关键字。

其实当们修改一下数据库的字符集,里面的utf8mb3就会变成我们修改之后的了。


改

我们拿查的例子来举例,我们先将数据库的字符集修改一下,修改为gbk:

确实就修改完毕了。

对于改来说,对应的sql语句就是alter。

当然了,可以改字符集,也可以改校验规则。

这里就留给同学们自己尝试啦。


感谢阅读!

相关推荐
java_logo4 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像
Codiggerworld4 小时前
Redis 正式接入 AI:当“最懂速度的数据库“开始解决“记忆问题“
数据库·人工智能·redis
白露与泡影4 小时前
Redis 正式接入 AI:当“最懂速度的数据库“开始解决“记忆问题“
数据库·人工智能·redis
我不会插花弄玉4 小时前
3.通用命令【由浅入深-redis】
数据库·redis·bootstrap
腾科IT教育5 小时前
Oracle OCP和MySQL OCP怎么选?方向对比指南
mysql·oracle·ocp·oracle ocp·ocp怎么选·mysql ocp
大牧师5 小时前
Mybatis 框架教程
java·数据库·mybatis·数据持久化·orm
有想法的py工程师6 小时前
PostgreSQL【内核】 CBO 优化器的“早停下注”与数学模型失效分析
数据库·postgresql
用户460381291946 小时前
别人都 commit 了,为什么我的 select 还是旧值?图解 MySQL MVCC
mysql
冰暮流星6 小时前
sql之计算
数据库·sql
dishugj6 小时前
HANA集群状态监控
数据库·系统架构