连接 MySQL 服务器
a.启动MySQL服务器
# 启动mysql -- 感觉有点麻烦
cd /usr/local/mysql-8.0.31-linux-glibc2.12-x86_64/support-files
sudo ./mysql.server start

b.改进MySQL服务器的启动
# mysql.server 软连接 -- 已经有了,没注意
$ sudo ln -s /usr/local/mysql/support-files/mysql.server /usr/local/bin/mysqld
$ sudo mysqld start

c.使用MySQL的客户端连接数据库
# 终端登录mysql
$ mysql -uroot -p
-- 然后输入密码

创建简单数据库
mysql> creare database dbname;
# 建议使用这种写法,因为数据库已经存在的话,就是报错
mysql> CREATE DATABASE IF NOT EXISTS database_name;
# 写法复杂点
CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

查看数据库
a.查看所有数据库
mysql> show databases;

b.查看数据库创建信息
mysql> show create database dbname;

c.理解CHARACTER与COLLATE
CHARACTER
在MySQL中,我们可以使用CHARACTER SET关键字来指定字符集,用于创建表时定义表列的默认字符集。字符集是一组字符的编码规则,用于存储和处理文本数据。MySQL支持多种字符集,包括常见的utf8、gbk等。
COLLATE
简而言之,COLLATE会影响到ORDER BY语句的顺序,会影响到WHERE条件中大于小于号筛选出来的结果,会影响**DISTINCT**、**GROUP BY**、**HAVING**语句的查询结果。
utf8mb4_0900_ai_ci是什么
utf8mb4_0900_ai_ci是mysql8.0之后的数据库的一种排序规则(collation)。
utf8mb4,这个名字许多人大概熟悉。如今️✈️♥️emoji表情已经大量使用,但MySQL之前的的字符集(character set)是utf8(更准确的名字是utf8mb3,一个字符最多使用3个字节来存储),只能存储编码值从0x000000到0xFFFFFF之间的字符。然而,emoji表情字符的码值超过了0xFFFFFF,按照UTF-8规范,存储时需要用4个字节。正因为如此,MySQL才提供了utf8mb4的字符集。如果把数据库表的字符集设定为utf8mb4,就可以正常存储包含表情字符的文本了。
中间的0900,它对应的是Unicode 9.0的规范。要知道,Unicode规范是在不断更新的,每次更新既包括扩充,也包括修正。比如6.0版新加入了222个中日韩统一表义字符(CJK Unified Ideographs),7.0版加入了俄国货币卢布的符号等等。
最后两部分_ai_ci,ai表示accent insensitivity,也就是“不区分音调”,而ci表示case insensitivity,也就是“不区分大小写”。