DB General Information

1. 查看参数,除了用sqlplus的 show parameter 命令之外,还可以查询 v$parameter,一样的。这个视图包括了很多重要参数,例如db_block_size, sga_max_size, shared_pool_size 等。

2. 字符集:

   服务器字符集:nls_database_parameter

   客户端字符集:nls_instance_parameter

   会话字符集:   nls_session_parameter

NLS 参数表示为: Language_Territory.CharSet

 

要修改 MySQL 数据库的字符集为 `utf8` 和排序规则为 `utf8_general_ci`,可以通过以下步骤进行操作: ### 修改数据库级别的字符集和排序规则 1. **查看当前数据库的字符集和排序规则** 首先确认当前数据库的字符集和排序规则设置: ```sql SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'your_database_name'; ``` 2. **修改数据库的字符集和排序规则** 使用 `ALTER DATABASE` 语句修改数据库的字符集和排序规则: ```sql ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 此命令会将指定数据库的默认字符集更改为 `utf8`,并将默认排序规则更改为 `utf8_general_ci`。 3. **验证修改结果** 再次查询数据库的字符集和排序规则以确保修改成功: ```sql SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'your_database_name'; ``` ### 修改表和列的字符集和排序规则 如果数据库已经存在表,还需要单独修改表及其列的字符集和排序规则: 1. **修改表的字符集和排序规则** 对于每个表,可以使用 `ALTER TABLE` 命令修改其字符集和排序规则: ```sql ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 此命令会将表中的所有列转换为新的字符集和排序规则。 2. **手动修改特定列的字符集和排序规则(可选)** 如果某些列需要不同的设置,可以单独修改它们: ```sql ALTER TABLE your_table_name MODIFY column_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci; ``` ### 注意事项 - **备份数据**:在执行这些操作之前,建议对数据库进行完整备份,以防止意外数据丢失。 - **版本兼容性**:确保使用的 MySQL 版本支持 `utf8mb4` 和相关的排序规则。如果使用的是较旧版本,可能需要升级到 5.5.3 或更高版本 [^1]。 - **性能影响**:字符集转换可能会对大型表产生一定的性能影响,建议在低峰期进行此类操作。 通过以上步骤,可以有效地解决 MySQL 查询时不区分字母大小写、插入时不支持特殊字符的问题,并确保数据库整体的一致性和兼容性 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值