【2024】新建mysql数据库,如何选择字符集和排序规则

如何使用 Navicat 新建 MySQL 数据库,并选择字符集与排序规则

  • 如何使用 Navicat 新建 MySQL 数据库并选择字符集与排序规则
    • 1. 开始之前
    • 2. 新建数据库
      • 步骤 1: 打开 Navicat
      • 步骤 2: 创建新数据库
      • 步骤 3: 填写数据库名称
    • 常见的字符集和排序规则及其选择场景
      • 1. 字符集(Character Sets)
        • UTF-8 / UTF8MB4
        • Latin1
        • ASCII
      • 2. 排序规则(Collations)
      • utf8_bin
      • utf8_general_ci
      • 其他相关排序规则
        • utf8mb4_unicode_ci / utf8mb4_general_ci
        • utf8_general_cs
        • utf8_unicode_ci
        • latin1_swedish_ci
        • binary
      • 小结
    • 3. 选择字符集和排序规则
      • 字符集(Character Set)
      • 排序规则(Collation)
      • 步骤 4: 选择字符集和排序规则
    • 4. 完成创建
    • 5. 验证数据库
    • 结论

请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

如何使用 Navicat 新建 MySQL 数据库并选择字符集与排序规则

在数据库管理和开发中,Navicat 是一个强大且用户友好的图形界面工具,它支持多种数据库系统,包括 MySQL。本文将指导您如何使用 Navicat 新建 MySQL 数据库,并着重介绍如何选择合适的字符集和排序规则。

1. 开始之前

确保您已经安装了 Navicat 和 MySQL 服务器,并且能够在 Navicat 中成功连接到您的 MySQL 服务器。如果您是第一次使用 Navicat,您需要创建一个新的数据库连接,输入数据库的地址、端口、用户名和密码。

2. 新建数据库

步骤 1: 打开 Navicat

启动 Navicat 并连接到您的 MySQL 服务器。

步骤 2: 创建新数据库

在 Navicat 的界面中,右击 MySQL 连接,选择“新建数据库”。这时会弹出一个对话框,让您输入数据库的名称。

步骤 3: 填写数据库名称

在对话框中输入您希望创建的数据库的名称。

常见的字符集和排序规则及其选择场景

在数据库设计中,选择合适的字符集(Character Set)和排序规则(Collation)是至关重要的。这些选择会影响数据的存储、检索以及比较。以下是一些常见的字符集和排序规则,以及它们的适用场景。

1. 字符集(Character Sets)

UTF-8 / UTF8MB4
  • 描述: UTF-8 是一种针对 Unicode 的可变长度字符编码,而 UTF8MB4 是 UTF-8 的超集,支持更多的字符,包括表情符号。
  • 适用场景: 当您的应用需要支持多种语言或特殊字符(如表情符号)时,UTF8MB4 是最佳选择。它是MySQL推荐的字符集。
Latin1
  • 描述: Latin1(或称为 ISO 8859-1)是一种单字节字符集,支持西欧语言。
  • 适用场景: 如果您的数据主要是英文或西欧语言,并且不包含特殊字符或表情符号,Latin1 是一个轻量且高效的选择。
ASCII
  • 描述: ASCII 是最基本的字符编码,只支持英文字符和一些基本符号。
  • 适用场景: 当您的数据仅包含基本的英文字符和符号时,ASCII 是足够的。这通常适用于一些非常特定和受限的应用场景。

2. 排序规则(Collations)

例如,当你运行:

 SELECT * FROM table WHERE txt = 'a' 

在讨论数据库字符集和排序规则时,理解不同类型的排序规则及其适用场景是非常重要的。以下是针对 MySQL 的 UTF-8 字符集的两种常见排序规则的优化格式说明:

utf8_bin

  • 特性: 在 utf8_bin 排序规则中,字符串是通过二进制数据进行编译和存储的。
  • 大小写区分: 是。在这种排序规则下,aA 被视为不同的字符。
  • 适用场景: 当您需要严格区分大小写或者需要存储二进制内容时。例如,如果您有一个字段需要确切地区分大小写,如密码字段,使用 utf8_bin 是一个合适的选择。

utf8_general_ci

  • 特性: utf8_general_ci 是一种不区分大小写的排序规则。它在比较字符串时,不会区分字符的大小写。
  • 大小写区分: 否。在这种排序规则下,aA 被视为相同的字符。
  • 适用场景: 这个排序规则适用于那些不需要区分大小写的场景,如用户登录时的用户名或邮箱地址。使用 utf8_general_ci 可以确保即使用户在输入时改变了字母的大小写,仍然能够被正确地识别。

其他相关排序规则

utf8mb4_unicode_ci / utf8mb4_general_ci
  • 描述: 这些排序规则用于 UTF8MB4 字符集。ci 表示不区分大小写(case-insensitive)。
  • 区别: utf8mb4_unicode_ci 基于标准的 Unicode 来排序,而 utf8mb4_general_ci 是一种性能更优的简化排序算法。
  • 适用场景: 当您需要确保在多种语言环境下的文本比较和排序的准确性时,utf8mb4_unicode_ci 是更好的选择。如果性能是主要考虑因素,且可以接受稍微粗糙的排序,则可以选择 utf8mb4_general_ci
utf8_general_cs
  • 区分大小写: 是。这个规则在处理字符串时会区分大小写,这在某些场景下可能导致问题,尤其是在不应区分大小写的字段(如邮箱地址)中使用时。
utf8_unicode_ci
  • 特性: utf8_unicode_ci 在校对时的准确度更高,但速度稍慢。
  • 中英文处理: 对中文和英文来说,与 utf8_general_ci 没有实质性的差别。
  • 选择建议: 如果对准确性有较高要求,可以考虑使用 utf8_unicode_ci
latin1_swedish_ci
  • 描述: 这是 Latin1 字符集的默认排序规则,不区分大小写。
  • 适用场景: 主要用于处理西欧语言数据,当使用 Latin1 字符集时,默认会采用此排序规则。
binary
  • 描述: 这是一种区分大小写的排序规则,按照字节值进行比较。
  • 适用场景: 当您需要严格区分大小写和特殊字符,或者对数据进行精确的字节级比较时,适合选择 binary 排序规则。

小结

在选择字符集和排序规则时,需要考虑数据的类型、语言和特殊需求。通常,UTF8MB4 是现代应用程序的安全选择,因为它支持广泛的字符并提供灵活的排序选项。然而,对于更特定的需求和优化,其他字符集和排序规则可能更为适宜。始终确保您的选择能够支持您的应用现在和未来的需求。

在选择排序规则时,需要考虑应用的具体需求,特别是对大小写的处理以及性能与准确度之间的权衡。通常,utf8_general_ci 因其较快的校对速度和足够的准确度,被广泛用于一般场景。而在需要严格的大小写区分或特殊的数据存储需求时,utf8_binutf8_unicode_ci 可能是更好的选择。

3. 选择字符集和排序规则

创建数据库的关键部分是选择正确的字符集和排序规则,这将影响数据的存储和检索方式。

字符集(Character Set)

字符集决定了数据库可以存储哪些字符。例如,utf8mb4 是一个流行的选择,它支持包括表情符号在内的几乎所有Unicode字符。

在这里插入图片描述

排序规则(Collation)

排序规则定义了字符的比较和排序方式。例如,utf8mb4_unicode_ci 是一种常用的排序规则,它以不区分大小写的方式进行排序。

在这里插入图片描述

步骤 4: 选择字符集和排序规则

在新建数据库的对话框中,您会看到字符集和排序规则的选项。从下拉列表中选择最适合您需求的字符集和排序规则。

4. 完成创建

确认无误后,点击“确定”按钮,Navicat 将创建新的数据库,并根据您的选择应用字符集和排序规则。

5. 验证数据库

创建完成后,您可以在 Navicat 的左侧面板中找到新创建的数据库。点击它,您可以查看数据库的属性,确认字符集和排序规则是否正确设置。

结论

使用 Navicat 创建 MySQL 数据库是一个简单直观的过程。选择合适的字符集和排序规则对于确保数据库能够正确处理和存储数据至关重要。通过以上步骤,即使是初学者也可以轻松完成这一过程。记住,根据您的具体需求选择字符集和排序规则,可以避免未来可能遇到的许多问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/245057.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有了NFC和蓝牙,为何还要UWB?什么时候UWB才是首推选择呢?

UWB UWB(超宽带,Ultra-Wideband)是一种短距离无线通信技术,它提供比当前使用的其他定位技术更精确的读数,使用飞行时间(ToF)和到达角(AoA)计算,UWB可以实时地…

jmeter分布式压测详解,建议收藏

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 一、什么是压力测试? 压力测试&#xff0…

SQL 注入总结(详细)

一、前言 这篇文章是最近学习 SQL 注入后的笔记,里面整理了 SQL 常见的注入方式,供大家学习了解 SQL 注入的原理及方法,也方便后续自己回顾,如有什么错误的地方欢迎指出! 二、判断注入类型 按照注入点类型分类 数字型…

QT 实现自动生成小学两位数加减法算式

小学生加减法训练 QT实现–自动生成两位数加减法算式,并输出txt文件 可以copy到word文件,设置适当字体大小和行间距,带回家给娃做做题 void MainWindow::test(int answerMax, int count) {// 创建一个随机数生成器QRandomGenerator *gener…

AIGC:让生成式AI成为自己的外脑(文末送书)

🌈个人主页:聆风吟 🔥系列专栏:数据结构、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 什么是AIGC?二. AIGC如何运作?2.1 步骤一:收集数据2.…

某顺cookie逆向

目标网站:aHR0cHM6Ly9xLjEwanFrYS5jb20uY24v 这个网站是对cookie进行反爬虫的,可以看到cookie中有一个加密参数v 二、分析参数 可以使用hook方法,来hook住cookie中v生成的位置,可以直接在控制台中输入hook函数 (function () {use strict;v…

ZigBee学习——浅析协议栈

✨记录学习过程 文章目录 一、初识OSAL1.1 Z-Stack和Zigbee的OSAL是什么关系?1.2 OSAL可以解决Z-stack在不同厂商的芯片上的使用吗? 二、协议栈运行机制2.1 初始化涉及内容2.2 初始化过程 一、初识OSAL OSAL,全称是操作系统抽象层&#xff0…

五分钟学会接口自动化测试框架

今天,我们来聊聊接口自动化测试。 接口自动化测试是什么?如何开始?接口自动化测试框架如何搭建? 自动化测试 自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发…

前端开发提高效率的两大工具

一、浏览器中的开发者工具 怎么启动开发者工具? 在浏览器中按下F12或者鼠标右键点击检查 怎么利用(常用的几点)? 1、元素 点击标红的图标可以用于在页面选择元素,同时右侧会找到元素在前端代码中的位置 点击下方红…

用艺术陪伴困境群体活动在庐阳区双岗街道万小店社区开展

用艺术陪伴困境群体活动在庐阳区双岗街道万小店社区开展 1月23日上午9时,王莉老师带领“一欣工作室”的七位小朋友冒着严寒,来到位于万小店社区和煦园小区的合肥市庐阳区为民社会工作服务中心,慰问陪伴中心的兄弟姐妹。 大家一起唱歌、一起表…

【51单片机系列】proteus中的LCD12864液晶屏

文章来源:《单片机C语言编程与Proteus仿真技术》。 点阵字符型LCD显示模块只能显示英文字符和简单的汉字,要想显示较为复杂的汉字或图形,就必须采用点阵图型LCD显示模块,比如12864点阵图型LCD显示模块。 文章目录 一、 LCD12864点…

用可视化案例讲Rust编程4. 用泛型和特性实现自适配shapefile的读取

本节已经涉及Rust学习曲线上的一个大坑:泛型和特性了,属于语言的深水区,如果初学者,建议看一眼知道有这个功能即可。 如果我们立足于功能实现,那么做到像上一节那样就可以了,从原理上来说,每个…

2023 工业 AR 关键词:纵深和开拓

2023 年,以虚实融合、工业元宇宙为代表的“新数字化”升级在工业制造领域达成共识。 ▲五部委联合印发元宇宙行动计划 通过发展元宇宙赋能新型工业化 而相对过去几年的行业渗透广、落地场景多样的 AR 业务拓展与合作,#纵深和#开拓,成为 2023…

在WIN从零开始在QMUE上添加一块自己的开发板(一)

文章目录 一、前言二、源码编译(一)安装Msys2(二)配置GCC工具链(三)安装QEMU构建依赖(四)下载编译QEMU源码 二、QUME编程基础(一)QOM机制(二&…

【计算机网络】【练习题】【新加坡南洋理工大学】【Computer Control Network】

说明: 仅供学习使用。 一、题目描述 该题目描述一个网络中传播时延(Transmission Delay)的例子。题目如下: 二、问题解答(个人) 笔者第3问采用均值不等式求解。标答中采用求导数的方法求极值。似乎均值…

Sqlite真空命令VACUUM

之前在项目中使用了sqlite数据库&#xff0c;当日志变大时&#xff0c;执行CRUD操作就会变慢 后来尝试删除7天前的记录进行优化 delete from XX_CollectData where CreateTime<2024-01-24 发现sqlite文件的大小就没有变化&#xff0c;delete命令只是逻辑删除&#xff0c;…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-热门标签推荐显示实现

锋哥原创的SpringbootLayui python222网站实战&#xff1a; python222网站实战课程视频教程&#xff08;SpringBootPython爬虫实战&#xff09; ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程&#xff08;SpringBootPython爬虫实战&#xff09; ( 火…

k8s的图形化工具--rancher

什么是rancher&#xff1f; rancher是一个开源的企业级多集群的k8s管理平台 rancher和k8s的区别 都是为了容器的调度和编排系统&#xff0c;但是rancher不仅能够调度&#xff0c;还能管理k8s集群&#xff0c;自带监控&#xff08;普罗米修斯&#xff09; 实验部署 实验架构…

Biotin-PEG4-TSA,生物素-PEG4-酪胺,用于标记蛋白质、核酸等生物分子

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Biotin-PEG4-Tyramide&#xff0c;Biotin-PEG4-TSA&#xff0c;生物素-PEG4-酪胺&#xff0c;Biotin PEG4 Tyramide&#xff0c;Biotin PEG4 TSA 一、基本信息 产品简介&#xff1a;Biotin PEG4 Tyramide is compos…

.git 文件夹结构解析

.git 文件夹结构解析 在这篇文章就让我们来看看这个 Git 仓库里的文件分别都是用来干什么的&#xff0c;以及在执行了相关的 Git 命令后这些文件会如何响应。 hooks&#xff08;钩&#xff09;&#xff1a;存放一些shell脚本info&#xff1a;存放仓库的一些信息logs&#xff…