本文首发于公众号:Hunter后端
原文链接:MySQL笔记二之DATABASE操作与编码
这一篇笔记介绍 DATABASE 相关操作
- DATABASE 相关操作
- 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;
如果想获取更多相关文章,可扫码关注阅读:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net