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..
-
PythonでMySQLのカラムにコメントを追加する方法をわかりやすく解説
コメントとは、コードやデータベースの構造に対して付ける「読み手のための説明文」のことです。プログラム内のコメントは、そのコードが何のために書かれたのかを示す役割を持ち、第三者がコードの意図や用途を理解する助けになります。コメントはコンパイラや実行エンジンによって無視されるため、処理には一切影響しません。しかし、保守性や可読性を高める上で非常に重要な要素です。テーブルのカラムにもコメントを付けられるSQLでは、テーブルの各カラム(列)にもコメントを追加できます。カラムにコメントを付けておくと、「このカラムが何を表しているのか」「どのような用途で使われるのか」がひと目で分かるようになります。特に、
-
PythonでMySQLのテーブルを丸ごとコピーする方法をわかりやすく解説
Pythonを使えば、MySQLに存在する既存テーブルのコピーを簡単に作成できます。コピーには、カラム(列)やその定義、テーブル内のすべての行データが含まれます。基本構文CREATE TABLE table_name SELECT * FROM existing_tabletable_name:新しく作成するテーブルの名前existing_table:コピー元となる既存テーブルの名前PythonでMySQLのテーブルをコピーする手順MySQLコネクタ(mysql.connector)をインポートするconnect() メソッドでデータベースへの接続を確立するcursor() メソッドでカーソル