ホームページ  >  記事  >  データベース  >  mysqlの文字セットを変更するにはどうすればよいですか?

mysqlの文字セットを変更するにはどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-05-18 15:19:4032988ブラウズ

Mysql でキャラクタ セットを変更する方法: 最初に「my.ini」構成ファイルを変更し、次に「alter database データベース名キャラクタ セット utf8;」ステートメントを通じてデータベース キャラクタ セットを変更し、最後に mysql を再起動します。データベースサービス。

mysqlの文字セットを変更するにはどうすればよいですか?

1. my.ini 設定ファイル (mysql 設定ファイル) を変更します

character_set_server = utf8 #设置字符集

mysql データベース サービスを再起動します

現在のデータベース キャラクタ セットを表示します。

show VARIABLES like 'character%';

2. データベース キャラクタ セットを変更します。

alter database 数据库名 character set utf8;

ps: データベース キャラクタ セットを変更した後、mysql データベースを再起動する必要があります。

3. テーブルのキャラクタ セットを変更します。

ALTER TABLE  表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

すべてのテーブル変更キャラクタ セット ステートメントを生成します。

SELECT TABLE_NAME,CONCAT('ALTER TABLE  ',TABLE_NAME,' DEFAULT CHARACTER SET ',a.DEFAULT_CHARACTER_SET_NAME,' COLLATE ',a.DEFAULT_COLLATION_NAME,';') executeSQL FROM information_schema.SCHEMATA a,information_schema.TABLES bWHERE a.SCHEMA_NAME=b.TABLE_SCHEMAAND a.DEFAULT_COLLATION_NAME!=b.TABLE_COLLATIONAND b.TABLE_SCHEMA='数据库名'

4. 列のキャラクタ セットを変更します。

ALTER TABLE  表名 CHANGE  列名  列名  VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

生成します。すべての列 文字セット ステートメントを変更します:

select b.table_name,b.column_name,b.character_set_name,b.collation_name
,CONCAT('ALTER TABLE ',b.table_name,' MODIFY ',b.column_name,' ',b.DATA_TYPE,'(',b.CHARACTER_MAXIMUM_LENGTH,') ',CASE WHEN b.COLUMN_DEFAULT IS NULL THEN ''  ELSE CONCAT('DEFAULT \'',b.COLUMN_DEFAULT,'\'') END,' COMMENT \'',b.COLUMN_COMMENT,'\';') executeSQL from information_schema.TABLES a,information_schema.COLUMNS b where  b.character_set_name IS NOT NULL and a.TABLE_SCHEMA=b.TABLE_SCHEMA AND a.TABLE_NAME=b.TABLE_NAMEAND a.TABLE_COLLATION!=b.COLLATION_NAMEand a.TABLE_SCHEMA='数据库名'

以上がmysqlの文字セットを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。