当前位置: 首页 > 面试题库 >

如何在整个数据库中更改CHARACTER SET(和COLLATION)?

楚流觞
2023-03-14
问题内容

我们以前的程序员在表(Mysql)中设置了错误的排序规则。他使用拉丁文归类(应为UTF8)进行设置,现在我遇到了问题。每个带有中文和日文字符的记录都变成???
字符。

是否可以更改排序规则并找回角色的细节?


问题答案:

更改数据库排序规则:

ALTER DATABASE <database_name> CHARACTER SET utf8 COLLATE utf8_unicode_ci;

更改表排序规则:

ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

更改列排序规则:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

更多信息:

  • utf8_general_ci和utf8_unicode_ci之间的区别是什么?
  • utf8_general_ci和utf8_unicode_ci有什么区别
  • 如何更改数据库,表,列的排序规则?


 类似资料:
  • 问题内容: 我正在考虑将Django用于我要开始的项目(fyi,一个基于浏览器的游戏),而我最喜欢的功能之一就是根据我定义的Django模型自动创建数据库表(我似乎在其他任何框架中都找不到的功能)。当我在文档中看到此内容时,我已经认为这太好了,无法实现: Syncdb不会更改现有表 syncdb将仅为尚未安装的模型创建表。安装后,它将永远不会发出ALTER TABLE语句来匹配对模型类所做的更改。

  • 问题内容: 我有一个特定的字符串,例如“ 123abcd”,但我不知道表的名称,甚至不知道SQL Server数据库中表内的列的名称。我想通过选择找到它并显示相关字符串的所有列,所以我想知道以下内容: 出于显而易见的原因,它不起作用,但是有一种简单的方法可以创建一个select语句来执行类似的操作? 问题答案: 这将起作用: 不过,有几点警告。首先, 这是极其缓慢且未优化的 。所有值都将被简单地转

  • 我想一次更改大量数据,如何更改? 在这个DAO下只更改一个数据,如果我想更改很多怎么办?

  • 问题内容: 我有一个MySQL数据库。默认存储引擎为。 我想将其更改为。 我可以逐个表地更改它,但是我想一次更改它影响所有表。 如何更改数据库存储引擎?我尝试过,但似乎没有选择。 问题答案: 登录后,转到要更改的表,然后单击“操作”选项卡。在这里,您可以更改存储类型以及其他一些选项 在线文件

  • 我是编程新手,目前使用JavaFX作为个人组织工具。我在这里展示了一个按钮(称为book)和阶段(称为bookStages)的数组列表,一个名为addBook的VBox,以及一个名为bookButtonCount的Int设置为0。 第一个按钮将“书籍”数组列表中的一个按钮添加到VBox。vbox中的按钮应该从舞台数组列表中打开一个阶段。您应该能够多次触发该按钮,每次向vbox添加一个新按钮并将该按

  • 问题内容: 我是Redis的新手,但我不知道如何创建和更改到另一个Redis数据库。 我该怎么做呢? 问题答案: 默认情况下,有16个数据库(索引从0到15),您可以使用select命令在它们之间导航。可以通过设置在redis配置文件中更改数据库数量。 默认情况下,它选择数据库。要选择一个指定的,使用 (选择数据库2)