MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで列の文字セットを設定しますか?


文字SETコマンドを使用して列文字セットを設定します。構文は次のとおりです-

ALTER TABLE yourTableName MODIFY youColumName type CHARACTER SET anyCharcaterSetName;

文字セット名utf8またはその他の名前を使用できます。列の文字セットを設定するには、最初にテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table setCharsetDemo
   −> (
   −> FirstName varchar(60)
   −> );
Query OK, 0 rows affected (2.09 sec)

これで、showコマンドを使用して現在の列の文字セットを確認できます。クエリは次のとおりです-

mysql> show create table setCharsetDemo;

以下は出力です-

+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table          | Create Table                                                                                                                                                           |
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| setCharsetDemo | CREATE TABLE `setcharsetdemo` (`FirstName` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci |
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

これで、上記のサンプル出力を見ることができます。デフォルトの文字セットはutf8mb4です。文字セットをutf8mb4以外に設定しましょう。

文字セットをutf8に設定します。クエリは次のとおりです-

mysql> alter table setCharsetDemo modify FirstName varchar(60) CHARACTER SET utf8;
Query OK, 0 rows affected, 1 warning (2.81 sec)
Records: 0 Duplicates: 0 Warnings: 1

文字セットが変更されているかどうかを確認しましょう。クエリは次のとおりです-

mysql> show create table setCharsetDemo;

次の出力は、文字セットが正常に更新されたことを示しています-

+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table          | Create Table                                                                                                                                                                          |
+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| setCharsetDemo | CREATE TABLE `setcharsetdemo` (`FirstName` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci |
+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

  1. 列値のMySQLでENUMを設定します

    テーブルの作成中に、ENUM値が必要な列のENUMタイプを設定します。まずテーブルを作成しましょう- mysql> create table DemoTable2019    -> (    -> StudentMarks int,    -> StudentStatus ENUM('First','Second','Fail')    -> ); Query OK, 0 rows affected (1.75 sec) 挿入コマンド-

  2. MySQLのデフォルト値をJSONタイプの列に設定しますか?

    デフォルト値を設定するには、次の構文のようにDEFAULT制約を使用します- alter table yourTableName modify column yourColumnName JSON NOT NULL DEFAULT ( JSON_OBJECT() ); テーブルを作成しましょう- mysql> create table demo24 −> ( −> employee_information text −> ) −> ; Query OK, 0 rows affected (1.43 sec) これ