MySQLテーブルの列のサイズを変更するにはどうすればよいですか?
ALTERコマンドを使用して列サイズを変更できます。列サイズを変更する方法を見てみましょう。あるサイズの列を定義していると仮定します。挿入時に、私たちが定義したものと比較して、着用者がより大きなサイズを与える場合、エラーが発生します。
サイズを変更しながら、上記の問題を減らすことができます。さらに理解を深めるために、CREATEコマンド-
を使用してテーブルを作成できます。mysql> CREATE table ModifyColumnNameDemo -> ( -> id int, -> StudentName varchar(10) -> ); Query OK, 0 rows affected (0.45 sec)
テーブルを正常に作成したら、INSERTコマンドを使用してテーブルにレコードを挿入できます。
mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor'); ERROR 1406 (22001): Data too long for column 'StudentName' at row 1
上記のクエリから、エラー1406が発生します。このエラーは、列を変更するときに解決できます。これにはALTERコマンドを使用できます。構文は次のとおりです-
ALTER table yourTableName modify column_name;
上記のクエリを適用して、列のサイズをあるサイズに変更します-
mysql> ALTER table ModifyColumnNameDemo modify StudentName varchar(200); Query OK, 0 rows affected (1.54 sec) Records: 0 Duplicates: 0 Warnings: 0
その後、列名「StudentName」のサイズがサイズ200であることを確認できます。クエリは次のとおりです-
mysql> DESC ModifyColumnNameDemo;
以下は出力です-
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ |id | int(11) | YES | | NULL| | | StudentName | varchar(200) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+ 2 rows in set (0.04 sec)
上記のStudentName列を見ると、サイズが200に変更されています。これで、テーブルにレコードを挿入できるようになり、エラーは発生しません。確認しましょう-
mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor'); Query OK, 1 row affected (0.14 sec)
上記のレコードはテーブルに正常に挿入されました。 SELECTコマンド-
を使用して、上に挿入したレコードを表示できます。mysql> SELECT * from ModifyColumnNameDemo;
以下は出力です-
| id | StudentName | +------+-------------+ | 1 | CarolTaylor| +------+-------------+ 1 row in set (0.00 sec)
上記の出力を見てください。列のサイズを変更した後、レコードは正常に挿入されました。
-
MySQLで個別の列をカウントする方法は?
これにはGROUPBYを使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable ( StudentFirstName varchar(20) ); Query OK, 0 rows affected (0.74 sec) 挿入コマンド-を使用してテーブルにレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (1.34 s
-
MySQLでテーブルの構造を複製するにはどうすればよいですか?
MySQLでクローンを作成するには、LIKE句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1 -> ( -> StudentId int, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(100,'John'); Query OK, 1 row aff