MySQL では、ALTER TABLE
ステートメントを使用してテーブル フィールドを追加できます。以下は、複数のフィールドをバッチで追加するサンプル コードです。
ALTER TABLE `table_name` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT 'description';
その中に、table_name
はテーブル名、new_column_name
は新しく追加されたフィールドの名前、data_type
は新しいフィールドのデータ型、default_value
はデフォルトです新しいフィールドの値、 description
は新しいフィールドの説明情報です。
たとえば、age
という名前の INT
型フィールドを追加します。デフォルト値は 0
、コメントは age# です。 # # では、次のステートメントを使用できます:
ALTER TABLE `user` ADD COLUMN `age` INT DEFAULT 0 COMMENT '年龄';1.2 複数のフィールドをバッチで追加する 複数のフィールドをバッチで追加する必要がある場合は、以下に示すように、カンマを使用して複数のフィールドの追加ステートメントを区切ることができます。
sql ALTER TABLE `table_name` ADD COLUMN `new_column_name1` `data_type1` DEFAULT `default_value1` COMMENT 'description1', ADD COLUMN `new_column_name2` `data_type2` DEFAULT `default_value2` COMMENT 'description2', ..., ADD COLUMN `new_column_nameN` `data_typeN` DEFAULT `default_valueN` COMMENT 'descriptionN';
age と
sex を
user テーブルにバッチで追加するには、次のステートメントを使用します。 <pre class="brush:sql;">sql
ALTER TABLE `user`
ADD COLUMN `age` INT DEFAULT 0 COMMENT &#39;年龄&#39;,
ADD COLUMN `sex` VARCHAR(10) DEFAULT &#39;&#39; COMMENT &#39;性别&#39;;</pre>
上記のステートメントを使用して、複数のフィールドを一度に追加します。注: 複数のフィールドを追加する場合、各 ADD COLUMN ステートメントはコンマで終わる必要がありますが、最後の ADD COLUMN ステートメントの後にはコンマは必要ありません。
2 mysql は複数のテーブルにフィールドを追加します
2.1 方法 1: フィールドを 1 つずつ追加します。手動
ALTER TABLE ステートメントを使用して、各テーブルにフィールドを 1 つずつ追加します。以下はサンプル コードです: <pre class="brush:sql;">sql
-- 为表1添加字段
ALTER TABLE `table1` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT &#39;description&#39;;
-- 为表2添加字段
ALTER TABLE `table2` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT &#39;description&#39;;
-- 为表3添加字段
ALTER TABLE `table3` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT &#39;description&#39;;</pre>
この方法はより面倒ですが、少数のテーブルのみにフィールドを追加する必要がある状況に適しています。
2.2 方法 2: スクリプトを使用してフィールドをバッチで追加する スクリプトを使用して、フィールドを複数のテーブルにバッチで追加できます。以下はサンプル コードです。
<pre class="brush:sql;">sql -- 为表1添加字段 ALTER TABLE `table1` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT &#39;description&#39;; -- 为表2添加字段 ALTER TABLE `table2` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT &#39;description&#39;; -- 为表3添加字段 ALTER TABLE `table3` ADD COLUMN `new_column_name` `data_type` DEFAULT `default_value` COMMENT &#39;description&#39;;</pre> ファイルとして保存し、MySQL クライアント ツール (MySQL Workbench など) を使用してスクリプトを実行し、複数のテーブルをバッチ処理します。フィールドを追加します。 スクリプトを使用してフィールドをバッチで追加する場合は、次の点に注意する必要があります。
3.1 追加されたフィールドを含む SQL ステートメントを作成する
タグを使用して SQL ステートメントを記述することができます。サンプル コードは次のとおりです。 <pre class="brush:sql;"><update id="addColumn" parameterType="map">
ALTER TABLE ${tableName} ADD COLUMN ${newColumnName} ${dataType} DEFAULT ${defaultValue};
</update></pre>
この例では、
、 ${newColumnName}
、 ${dataType}
および${defaultValue}
は、コード内で動的に設定する必要があるすべてのパラメーターです。 3.2 Java コードでの SQL ステートメントの呼び出し
SQL ステートメントを実行するには、まず SqlSession オブジェクトを取得し、対応するメソッドを呼び出す必要があります。サンプル コードは次のとおりです。
public void addColumn(String tableName, String newColumnName, String dataType, String defaultValue) { try (SqlSession session = sqlSessionFactory.openSession()) { Map<String, Object> params = new HashMap<>(); params.put("tableName", tableName); params.put("newColumnName", newColumnName); params.put("dataType", dataType); params.put("defaultValue", defaultValue); session.update("addColumn", params); session.commit(); } }
この例では、
sqlSessionFactory はすでに作成されている SqlSessionFactory オブジェクトです。 3.3 Java コードを呼び出して SQL ステートメントを実行する
addColumn("table1", "new_column_name", "VARCHAR", "'default_value'"); addColumn("table2", "new_column_name", "INTEGER", "0"); addColumn("table3", "new_column_name", "DECIMAL(10,2)", "0.00");
以上がMySQLテーブルにフィールドを一括追加する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。