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

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)

上記の出力を見てください。列のサイズを変更した後、レコードは正常に挿入されました。


  1. 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

  2. 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