头图

MySQL笔记二之DATABASE操作与编码

本文首发于公众号:Hunter后端

原文链接:MySQL笔记二之DATABASE操作与编码

这一篇笔记介绍 DATABASE 相关操作

  1. DATABASE 相关操作
  2. DATABASE 编码

1、DATABASE 相关操作

首先通过 root 账号,或者前面我们创建的 hunter 账号进入 MySQL 服务

这两者对于我们,接下来的操作影响都不大,因为我们只是需要对数据库的数据进行操作。

MySQL 的结构应该都了解,库->表->字段,大概是这三级。

其中,DATABASE 就是我们的库。

查看 DATABASE

通过下面的命令查看当前用户的数据库:

SHOW DATABASES;

这个命令输入后,就会列出当前用户可以使用的所有的数据库

如果是想根据关键词来搜索,加上 like 操作:

show databases like '%db%';

注意:数据库命令对于大小写是不敏感的,比如上面的命令,小写写成 show databases 也是可以的

创建 DATABASE

如果我们想创建一个名为 db_test 的数据库,命令如下:

create database db_test;

然后执行 show database 可以看到刚刚创建的 DATABASE

使用 DATABASE

在上一步列出数据库后,如果要使用某个数据库,使用 use 命令,假设数据库为 db_test:

use db_test;

然后就会进入到这个数据库,就可以查看这个数据的相关信息,比如查看所有表,查看某张表数据等操作

如果是想切换到另一个数据库,比如,切换到 db_test_2,直接重复上面的命令,替换 DATABASE 的名称即可:

use db_test_2;

这样就切换到了 db_test_2 数据库

注意: 在每一次进入 MySQL 之后,如果要操作表,都需要使用这条命令才可以操作表数据

删除 DATABASE

删除命令为 drop,使用方式如下:

drop database db_test;

然后执行 show databases 就可以看到 db_test 数据库已经不存在了。

查看 DATABASE 创建命令

比如对于数据库 db_test,我们想创建一个跟它一模一样的数据库,但是名称不一样,为 db_test_2,我们可以先查看 db_test 的创建命令,然后将名称替换成 db_test_2 即可:

show create database db_test;

然后可以看到输出:

CREATE DATABASE `db_test` /*!40100 DEFAULT CHARACTER SET latin1 */

可以看到这条创建 DATABASE 的命令后面加了一些东西,这个就是数据库的编码信息,这个编码信息在下面会介绍到

注意: 数据库名称是不可更改的

查看数据库所在目录

show variables like '%datadir%';

2、DATABASE 编码

如果是直接通过 create database db_test 的方式来创建数据库,系统会默认给库的编码为 latin1,这种编码方式是不支持中文的。

而如果我们在创建 DATABASE 的时候,使用了某个编码,在后面创建表的时候,会沿用 DATABASE 的编码,而表字段也会沿用表的编码。

所以,如果想要想要数据库表插入的数据支持中文,在创建库的时候就需要对库的编码进行指定,以下是创建库时指定编码的命令:

CREATE DATABASE db_test DEFAULT CHARACTER set utf8;

注意: 这个地方 utf8 编码能支持中文的三个字节,而如果有往 MySQL 存储 Emoji 表情或者其他特殊字符为四个字节的情况,需要用上 utf8mb4 的编码。

创建了数据库之后,可以通过下面的命令查看数据库编码:

use db_test;
show variables like '%character%';

在给出的数据里,可以看到 character_set_database 这一行就是我们的数据库编码

修改数据库编码

如果我们在创建数据库的时候没有指定编码,那么系统就会默认使用 latin1 编码,可以通过下面的方式来修改 DATABASE 的编码:

alter database db_test default character set utf8mb4;

如果想获取更多相关文章,可扫码关注阅读:
image.png

7 声望
6 粉丝
0 条评论
推荐阅读
Redis基础命令汇总,看这篇就够了
本篇笔记将汇总 Redis 基础命令,包括几个常用的通用命令,和各个类型的数据的操作,包括字符串、哈希、列表、集合、有序集合等在内的基本操作。

Hunter

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥14阅读 2k

封面图
硬卷完了!MongoDB 打怪升级进阶成神之路( 2023 最新版 )!
前面我们学习:MySQL 打怪升级进阶成神之路、Redis 打怪升级进阶成神之路,然后我们还在继续 NoSQL 的卷王之路。从第一篇文章开始,我们逐步详细介绍了 MogoDB 基础概念、安装和最基本的CURD操作、索引和聚合、工...

民工哥6阅读 614

封面图
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。

王中阳Go4阅读 1.7k评论 2

封面图
又一款内存数据库横空出世,比 Redis 更强,性能直接飙升一倍!杀疯了
KeyDB是Redis的高性能分支,专注于多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具有仅在Redis Enterprise中可用的功能,例如Active Replication,FLASH存储支持以及一些根本不可用的功能,例如直接备份...

民工哥4阅读 1.7k评论 2

封面图
Vue+Express+Mysql全栈项目之增删改查、分页排序导出表格功能
本文记录一下实现一个全栈项目,前端使用vue框架、后端使用express框架、数据库使用mysql。此项目的意义不仅仅有助于我们复习nodejs相关知识、更有助于带前端新人,使其快速从整体全局角度中,理解常规后台管理系...

水冗水孚4阅读 2.6k

MySQL百万数据深度分页优化思路分析
一般在项目开发中会有很多的统计数据需要进行上报分析,一般在分析过后会在后台展示出来给运营和产品进行分页查看,最常见的一种就是根据日期进行筛选。这种统计数据随着时间的推移数据量会慢慢的变大,达到百万...

一个程序员的成长7阅读 927

封面图
7 声望
6 粉丝
宣传栏