ホームページ  >  記事  >  データベース  >  mysqlテーブルのフィールドを変更するにはどうすればよいですか?

mysqlテーブルのフィールドを変更するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-10-13 16:39:0417954ブラウズ

mysql テーブルでは、「ALTER TABLE table name CHANGE old field name new field name data type;」ステートメントを使用してフィールド名を変更できます。「ALTER TABLE table name MODIFY field name new data」ステートメントを使用します。 type;" ステートメントを使用してフィールドのデータ型を変更します。

mysqlテーブルのフィールドを変更するにはどうすればよいですか?

(推奨チュートリアル: mysql ビデオ チュートリアル )

フィールド名の変更

MySQL でテーブルのフィールド名を変更するための構文規則は次のとおりです:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;

その中に:

  • 古いフィールド名: を参照します。変更前のフィールドへ 名前;

  • 新しいフィールド名: 変更されたフィールド名を参照;

  • データ型: 変更されたデータを参照type (必要ない場合) フィールドのデータ型を変更するには、データ型を元のデータ型と同じに設定できますが、データ型を空にすることはできません。

例 1

ALTER TABLE を使用してテーブル tb_emp1 の構造を変更し、col1 フィールド名をcol3 に変更し、データ型を変更します。 CHAR(30)へのSQL文と実行結果は以下のとおりです。

mysql> ALTER TABLE tb_emp1
    -> CHANGE col1 col3 CHAR(30);
Query OK, 0 rows affected (0.76 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col3   | char(30)    | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

CHANGE も MODIFY と同じ効果を得るためにデータ型を変更することしかできません。その方法は、SQL ステートメント内の「新しいフィールド名」と「古いフィールド名」を同じ名前に設定することです。 「データ型」のみを変更します。

ヒント: さまざまな種類のデータはさまざまな方法と長さでマシンに保存されるため、データ タイプを変更すると、データ テーブル内の既存のデータ レコードに影響を与える可能性があります。したがって、データ テーブルにすでにデータがある場合は、 、データ型を簡単に変更しないでください。

フィールドのデータ型の変更

フィールドのデータ型の変更とは、フィールドのデータ型を別のデータ型に変換することです。 MySQL でフィールドのデータ型を変更するための構文規則は次のとおりです:

ALTER TABLE 表名 MODIFY 字段名 新数据类型;

その中に:

  • テーブル名: フィールドが存在するテーブルの名前を指します。変更するデータ型が見つかります;

  • フィールド名: 変更する必要があるフィールドを参照します;

  • 新しいデータ型:は、変更されたフィールドの新しいデータ型を指します。

例 2

ALTER TABLE を使用してテーブル tb_emp1 の構造を変更し、name フィールドのデータ型を VARCHAR(22) から変更します。 ) から VARCHAR( 30) への SQL ステートメントと実行結果は次のとおりです。

mysql> ALTER TABLE tb_emp1
    -> MODIFY name VARCHAR(30);
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col1   | int(11)     | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| col2   | int(11)     | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

ステートメントの実行後、テーブル tb_emp1 の name フィールドのデータ型が VARCHAR(30) に変更されたことがわかり、変更は成功しました。

以上がmysqlテーブルのフィールドを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。