MySQl基础入门③

上一遍内容

接下来我们都使用navicat软件来操作数据了。

1.新建数据库

先创建我门自己的一个数据库

鼠标右键点击bendi那个绿色海豚的图标,然后选择新建数据库。

数据库名按自己喜好的填,不要写中文,

在 MySQL 8.0 中,最优的字符集和排序规则是 UTF-8 和 utf8mb4_unicode_ci。这种字符集和排序规则可以支持大多数语言,并且能够保证在排序和比较时的正确性。

不同的数据库版本是不一样的

在这里我先讲几个常用的排序规则

  • utf8mb4_0900_ai_ci 不区分大小写
  • utf8mb4_unicode_ci 不能完全支持组合的记号。
  • utf8mb4_general_ci 校对规则仅部分支持Unicode校对规则算法,一些字符还是不能支持;
排序规则 说明
utf8_bin 字符串每个字符用二进制数据编译存储。区分大小写,可以存储二进制内容。
utf8_general_ci 校对速度快,但准确度稍差。
utf8_unicode_ci 精准度高,但校对速度稍慢。

utf8mb4_unicode_ci比较准确,utf8mb4_general_ci速度比较快。通常情况下,新建数据库时一般选用 utf8mb4_general_ci 就足够了!

常用的命名规则:_ci结尾表示大小写不敏感(case insensitive),_cs表示大小写敏感(case sensitive),_bin表示二进制的比较(大小写敏感)。

创建完以后就出出现这个数据库,里面是没有表的,等着我们去创建。

2.用命令创建数据库

刚刚我们用界面操作创建数据库,现在我们要用命令了,

右键点小海豚,命令列界面 。

在新建之前,我们先输入之前学习的show databases;的命令

跟左边显示的一模一样,没有问题。

创建数据库我这里有两个方法

复制代码
第一种:create database 数据库名;
第二种:create database if not exists 数据库名 default character set 字符集;
第三种:CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符集 DEFAULT COLLATE 排序规则;

IF NOT EXISTS为可选项,它的作用是判断即将新建的数据库名是否存在,若不存在则直接创建该数据库,若以存在同名的数据库则不创建任何数据库。如果在新建数据库时没有指定IF NOT EXISTS,那么新建的数据库与连接中的数据库重名将会出现错误提示。同样删除数据库的时候也是一样。


在这里讲一下字符集的意思:

字符集 说明
utf8 表示一个字符需要使用1~4个字节。字符集表示一个字符所用的最大字节长度,在某些方面会影响系统的存储和性能。
utf8mb3 阉割过的utf8字符集,只使用1~3个字节表示字符。
utf8mb4 正宗的utf字符集,使用1~4个字节表示字符。

在utf8mb4下,英文占1个字符,中文3个,特殊符号4个。
为了数据库有更好的兼容性,用mb4,但是会浪费点空间。

采用第一种方法:

采用第二种方法:

如果左边数据库没有显示出来,右键点击小海豚,刷新一下就出来了。

3.删除数据库语句

可以鼠标右键点击删除

命令1:DROP DATABASE txt1;

I

txt1就是你要删除的数据库名字,更换成你想删除的数据库名即可。

4.修改数据库

让我们来修改数据库的字符集和排序规则,先让我们看看它原本是什么的

字符集是utf8mb4,排序是utf8mb4_0900_ai_ci,让我们来修改成字符集为gbk,排序规则为gbk_chinese_ci。

命令:ALTER DATABASE txt1 CHARACTER SET gbk COLLATE gbk_chinese_ci;

我们可以看到它的字符集和排序规则都已经发生了改变,如果出现OK没变化的,记得刷新一下数据库。

相关推荐
星恒随风1 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下2 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人4 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析
隔窗听雨眠4 小时前
MySQL进程卡死的定位思路与恢复实践
mysql·故障排查·数据库运维
2601_967987375 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程
隔窗听雨眠5 小时前
Oracle日志体系分层结构与故障定位路径
数据库·oracle·故障排查
为思念酝酿的痛5 小时前
C语言操作MySQL
数据库·mysql
ShineWinsu5 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
星恒随风16 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql