常用mysql一网打尽 | mysql系列(一)基本操作

129 阅读3分钟

前言

一名正在自由职业的程序员的独立开发之路

说明

本篇文章主要是最近在上线自己的node服务,数据库用的mysql,此篇文章不是那种 基础知识的简单堆砌,而是自己按照自己的实践流程记录下平时常用的mysql的语句,以及记录这其中遇到的问题,希望对你有所帮助

mysql 常用的操作命令

说明:

  1. 我的服务器环境是 centos系统
  2. 我的mysql的版本是 8以后的版本
  3. 我的mysql是通过 通过 docker 来安装的,因为当时单独安装 mysql总是不成功,没有办法,通过docker安装成功了
  4. 因为是通过 docker安装的 mysql,所有在登录服务器之后,必须用docker来启动bash
  5. 每句sql语句都必须在最后加分号 ;
# 登录服务器
ssh abc@127.0.0.1(abc为用户名 127.0.0.1 为你的服务器ip地址)
# 切换到 docker 的bash 命令
docker exec -it mysql bash
# 连接并登录数据库(--default-character-set=utf8mb4这个后面会说到)
mysql -u abc -p密码 --default-character-set=utf8mb4;

# 查看所有的数据库
show databases;
# 选择一个要用的数据库 (dbname 为数据库的名字)
use dbname;
# 查询当前数据库中所有的表
show tables;
# 查询某个表的所有数据(Group为表名字)
select * from `Group`;
# 加查询条件来查询
select * from `Group` where id=1;


# 其他遇到的sql
# 查看当前编码集
show variables like 'character%';
# 查看mysql的版本(注意是V是大写的)
mysql -V

遇到的问题总结(重要)

第一个问题

执行一个简单的mysql的时候,报错了;

# 这个报错
select * from Group;
# 解决
select * from `Group`;
# 原因
Group应该是关键字,或者特殊的字段 的原因导致的

2b9acfa737af42156fd6cec24cbbb9c.png

第二个问题

搜索出来的数据,里面的中文都展示不了

# 解决办法 在登录的时候指定 字符集即可(每次登录都这样设置即可)
mysql -u abc -p密码 --default-character-set=utf8mb4;
# 原因是编码的问题,通过下面的命令查看当前编码
show variables like 'character%';

说明:

  1. mysql 8 之后默认都是 utf8mb4,这种编码格式,而utf8mb4 是utf-8的超级,是包含utf-8的,而mysql之前的版本默认的utf8(待勘正),要想支持中文,需要自己设置为gbk
  2. 我的接口获取的数据都是能显示中文,只有在mysql命令行中才是乱码
  3. 编码格式的设置分好多种 ,但是每个对应的不一样,详细细节还是很有学问,此处就不展开讲了。详细看下这篇文章和《MySQL是怎样运行的》这本书;所以此处我这边只需要设置其中几个就好了
  4. 网上也有很多其他的方法,比如直接 set xxx=gbk;,我试过,但是没有效果,可能是什么其他环节不对
  5. 还有一种方法是直接修改 mysql的启动文件里面的设置,我暂时没有信心那这样做,毕竟还是不太熟悉,此处就不展开讲了

420571c1b9ac2c036c28ddfeb2879b3.png

bbfcdb3606736a554bffcf64a30ca11.png

总结

  1. 虽然网上的资料很多,但是不一定适合自己,因为每个人的环境与版本是都是不一样的

  2. 虽然都是很基础的东西,但是就是这么基础的东西,都能遇到一大堆问题

  3. 虽然有些问题饶着给解决了,但是没有深究,这其实对于学知识是非常不好的,永远都不能长进

  4. 还是先把项目搞起来,回过头把这些坑再看一遍,深究其原因,那样收获才是最大的