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

PythonでMySQLのテーブルに新しい列(カラム)を追加する方法

既存のテーブルに後から新しい列を追加したい場面は少なくありません。例えば、「Students(学生)」というテーブルに「Name(名前)」「Age(年齢)」「Roll no(出席番号)」といった列があるとします。ここに、新しく「Address(住所)」という列を追加したい場合、どうすればよいのでしょうか。

このようなときに活躍するのがALTERコマンドです。ALTERコマンドは、データベース内の列を変更・削除・更新するためのコマンドで、ADD句と組み合わせることで、テーブルに新しい列を追加することもできます。

構文

ALTER TABLE table_name
ADD new_column_name column_definition
[FIRST | AFTER existing_column]

ここで、table_name は対象となるテーブルの名前、new_column_name は追加する列の名前、column_definition はその列のデータ型を表します。

FIRST句AFTER句は省略可能なオプションで、新しい列を挿入する位置を指定するために使用します。FIRSTを指定するとテーブルの先頭に、AFTER existing_column を指定すると指定した既存の列の直後に新しい列が挿入されます。

これらを指定しない場合、新しい列はデフォルトでテーブルの末尾に追加されます。

PythonでMySQLを使ってテーブルに列を追加する手順

  • mysql.connector モジュールをインポートする

  • connect() メソッドでデータベースへの接続を確立する

  • cursor() メソッドでカーソルオブジェクトを作成する

  • 適切なSQL文を使ってクエリを作成する

  • execute() メソッドでSQLクエリを実行する

  • 接続を閉じる

サンプルコード

それでは実際に、「Students」というテーブルに対して、VARCHAR(100) 型の「Address」という新しい列を追加してみましょう。

import mysql.connector

db = mysql.connector.connect(
    host="your host",
    user="your username",
    password="your password",
    database="database_name"
)

cursor = db.cursor()

query = "ALTER TABLE Students ADD Address VARCHAR(100)"
cursor.execute(query)
db.commit()
print("NEW COLUMN ADDED..")

db.close()

上記のコードを実行すると、「Students」テーブルに「Address」という新しい列が追加されます。位置の指定を行っていないため、既存の列の末尾に追加される点に注意してください。

実行結果

NEW COLUMN ADDED..
  1. PythonでMySQLのカラムにコメントを追加する方法をわかりやすく解説

    コメントとは、コードやデータベースの構造に対して付ける「読み手のための説明文」のことです。プログラム内のコメントは、そのコードが何のために書かれたのかを示す役割を持ち、第三者がコードの意図や用途を理解する助けになります。コメントはコンパイラや実行エンジンによって無視されるため、処理には一切影響しません。しかし、保守性や可読性を高める上で非常に重要な要素です。テーブルのカラムにもコメントを付けられるSQLでは、テーブルの各カラム(列)にもコメントを追加できます。カラムにコメントを付けておくと、「このカラムが何を表しているのか」「どのような用途で使われるのか」がひと目で分かるようになります。特に、

  2. PythonでMySQLのテーブルを丸ごとコピーする方法をわかりやすく解説

    Pythonを使えば、MySQLに存在する既存テーブルのコピーを簡単に作成できます。コピーには、カラム(列)やその定義、テーブル内のすべての行データが含まれます。基本構文CREATE TABLE table_name SELECT * FROM existing_tabletable_name:新しく作成するテーブルの名前existing_table:コピー元となる既存テーブルの名前PythonでMySQLのテーブルをコピーする手順MySQLコネクタ(mysql.connector)をインポートするconnect() メソッドでデータベースへの接続を確立するcursor() メソッドでカーソル