PythonでMySQLに日付データを挿入する方法をわかりやすく解説
PythonからMySQLデータベースに日付を挿入するには、まずテーブル側の準備が必要です。挿入先のカラムは DATE 型または DATETIME 型として定義しておきましょう。
日付を文字列に変換してから挿入する
MySQLに日付を登録する際は、Pythonのdatetimeオブジェクトをそのまま渡すのではなく、あらかじめ文字列形式に変換しておく必要があります。この変換には、標準ライブラリ datetime モジュールが提供する strftime() メソッドを使うのが一般的です。
コード例
from datetime import datetime
now = datetime.now()
id = 1
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')
# cursorという名前のカーソルに対してクエリを実行する場合
cursor.execute('insert into table(id, date_created) values(%s, %s)', (id, formatted_date))
コードのポイント解説
datetime.now() で現在の日時を取得し、strftime('%Y-%m-%d %H:%M:%S') を使って「年-月-日 時:分:秒」の形式の文字列に整形しています。このフォーマットはMySQLの DATETIME 型が受け付ける標準的な書式です。
そして cursor.execute() の第二引数にタプル (id, formatted_date) を渡すことで、プレースホルダー(%s)に値が安全にバインドされ、テーブルへのINSERT処理が実行されます。
補足:SQLインジェクション対策にもなるパラメータ化クエリ
上記のように %s プレースホルダーとタプルを組み合わせる書き方は、文字列を直接連結してSQL文を作る方法と比べて安全です。ユーザー入力を扱う場合は特に、必ずこのパラメータ化されたクエリの形式を使い、SQLインジェクションを防ぐようにしましょう。
-
MySQLで日時(DATETIME)を簡単に挿入する方法
MySQLコマンドラインでDATETIMEを挿入する基本構文MySQLでは、コマンドラインから日時(DATETIME型)の値を簡単に挿入できます。基本的な構文は以下のとおりです。INSERT INTO テーブル名 VALUES(日時の値);日時の値は「YYYY-MM-DD HH:MM:SS」形式で文字列として指定するのが一般的です。手順1:テーブルを作成するまず、DATETIME型のカラムを持つテーブルを作成しましょう。mysql> CREATE TABLE DemoTable( DateOfBirth DATETIME);Query OK,
-
Javaを使ってDATE型の値をMySQLカラムに挿入する方法【PreparedStatement活用】
はじめに JavaからMySQLのDATE型カラムに日付データを挿入したい場合、PreparedStatementを使用するのが最も安全で推奨される方法です。SQLインジェクション対策にもなり、日付型の変換もスムーズに行えます。 本記事では、Javaプログラムから現在の日付をMySQLテーブルに挿入する手順を、サンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、DATE型のカラム「ArrivalDate」を含むテーブルを作成します。以下はMySQLでの作成例です。 mysql> create table DemoTable( PassengerId