MySQL は、一般的に使用されるリレーショナル データベース管理システムであり、オープン ソース ソフトウェアです。 MySQL データベースでは、テーブルの各フィールドの長さに上限があり、テーブル作成時にフィールド長が小さすぎると、データ保存時にデータが失われる可能性があります。実際のアプリケーションでは、MySQL テーブルのフィールドの長さを変更する必要がある場合がありますが、この記事では MySQL テーブルのフィールドの長さを変更する方法を紹介します。
- テーブル フィールド情報の表示
MySQL テーブル フィールドの長さを変更する前に、まずテーブル フィールド情報を確認する必要があります。 MySQL では、DESCRIBE ステートメントまたは SHOW COLUMNS ステートメントを使用して、テーブル内のフィールド情報を表示します。以下では、例として DESCRIBE ステートメントを使用して、employees テーブルのフィールド情報を表示します。
DESCRIBE employees;
ログイン後にコピー
上記のステートメントを実行すると、次のテーブルが出力されます。
Field | Type | Null | Key | Default | Extra |
---|
##emp_no | int(11 ) | NO | PRI | NULL | auto_increment |
birth_date | date | NO | | NULL | |
first_name | varchar(14) | NO | | NULL | |
last_name | varchar(16) | NO | | NULL | |
性別 | enum('M','F ' ) | NO | | NULL | |
採用日 | 日付##NO | | NULL | | |
##表からわかるように、employees テーブルには 6 人が含まれています。フィールドの場合、各フィールドには指定されたデータ型と長さがあります。ここでは例として first_name フィールドを取り上げますが、このフィールドの長さが十分でない場合は、長さを 20 に変更する必要があります。
フィールド長の変更
- MySQL では、ALTER TABLE ステートメントを使用してテーブルの構造を変更します。 ALTER TABLE ステートメントを使用してフィールドの長さを変更するには、テーブル名、フィールド名、新しい長さの 3 つのパラメーターを指定する必要があります。
以下は、first_name フィールドの長さを 20 に変更する ALTER TABLE ステートメントです:
ALTER TABLE employees MODIFY COLUMN first_name VARCHAR(20);
ログイン後にコピー
上記のステートメントを実行すると、次のようなプロンプトが出力されます:
Query OK、300024 行が影響を受けました (5.57 秒)
データがテーブルにすでに存在する場合、フィールドの長さを変更するときは、新しい長さが既存のデータを格納するのに十分であることを確認する必要があることに注意してください。そうしないと、データが失われます。新しい長さが十分であることを確認できない場合は、続行する前にデータをバックアップすることをお勧めします。
複数のフィールドの長さを同時に変更する必要がある場合は、変更する必要があるフィールドと新しい長さを次の形式でステートメントにリストします:
ALTER TABLE 表名 MODIFY COLUMN 字段1 数据类型(长度), MODIFY COLUMN 字段2 数据类型(长度),...
ログイン後にコピー
フィールド長変更の結果を確認する
- ALTER TABLE ステートメントを実行した後、変更が成功したかどうかを確認する必要があります。また、DESCRIBE ステートメントまたは SHOW COLUMNS ステートメントを使用してテーブル フィールド情報を表示することも、次のステートメントを使用してテーブル定義を表示することもできます。
SHOW CREATE TABLE employees;
ログイン後にコピー
上記のステートメントを実行した後、完全な定義を含む SQL ステートメントが作成されます。すべてのフィールドの値を含むテーブルの情報を定義します。出力結果で変更する必要があるフィールド名を見つけて、そのデータ型と長さが正しいことを確認してください。 上記の手順により、MySQL テーブルのフィールドの長さを正常に変更できます。フィールド長を変更する場合は、データ長不足によるデータの損失や異常を避けるため、データの安全性と有効性を確保する必要があります。同時に、事故を避けるために、運用前にデータをバックアップする必要があります。 以上がmysqlフィールド長の変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。