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

MySQLテーブルの列のデータ型を変更するにはどうすればよいですか?


これにはmodifyコマンドを使用できます。まず、テーブルを作成しましょう。

mysql> create table DemoTable
(
   StudentId varchar(200) not null,
   StudentName varchar(20),
   StudentAge int,
   StudentAddress varchar(20),
   StudentCountryName varchar(20)
);
Query OK, 0 rows affected (0.73 sec)

次に、テーブルの説明を確認します。

mysql> desc DemoTable;

これにより、次の出力が生成されます-

+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| StudentId          | varchar(200) | NO   |     | NULL    |       |
| StudentName        | varchar(20)  | YES  |     | NULL    |       |
| StudentAge         | int(11)      | YES  |     | NULL    |       |
| StudentAddress     | varchar(20)  | YES  |     | NULL    |       |
| StudentCountryName | varchar(20)  | YES  |     | NULL    |       |
+--------------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

データ型をvarcharからBIGINTに変更するためのクエリは次のとおりです-

mysql> alter table DemoTable modify StudentId BIGINT(10) UNSIGNED NOT NULL DEFAULT 0;
Query OK, 0 rows affected (1.51 sec)
Records: 0 Duplicates : 0 Warnings : 0

上記では、列「StudentId」データ型をvarchar(200)からBIGINT(10)に変更しました。テーブルの説明をもう一度確認しましょう。

mysql> desc DemoTable;

これにより、次の出力が生成されます-

+--------------------+---------------------+------+-----+---------+-------+
| Field              | Type                | Null | Key | Default | Extra |
+--------------------+---------------------+------+-----+---------+-------+
| StudentId          | bigint(10) unsigned | NO   |     | 0       |       |
| StudentName        | varchar(20)         | YES  |     | NULL    |       |
| StudentAge         | int(11)             | YES  |     | NULL    |       |
| StudentAddress     | varchar(20)         | YES  |     | NULL    |       | 
| StudentCountryName | varchar(20)         | YES  |     | NULL    |       |
+--------------------+---------------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

  1. MySQLでテーブル列をVARCHARからNULLに変更します

    変更するには、次の構文のようにCHANGEを指定してALTERコマンドを使用します- alter table yourTableName change yourColumnName yourColumnName datatype NULL DEFAULT NULL; まずテーブルを作成しましょう- mysql> create table DemoTable1356     -> (     -> FirstName varchar(30)     -> ); Query OK, 0 rows affected

  2. MySQLで列エイリアスを特定のデータ型にするようにするにはどうすればよいですか?

    このために、CASEステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1505    -> (    -> Value integer unsigned,    -> Status tinyint(1)    -> ); Query OK, 0 rows affected (0.47 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoT