MySQL डेटाबेस में डेट (Date) इन्सर्ट करने के लिए आपके टेबल में DATE या DATETIME टाइप का कॉलम होना चाहिए। Python के datetime ऑब्जेक्ट को डेटाबेस में स्टोर करने से पहले उसे स्ट्रिंग फॉर्मेट में बदलना पड़ता है।
डेट इन्सर्ट करना (Insert Date)
from datetime import datetime
import PyMySQL
# डेटाबेस कनेक्शन
db = PyMySQL.connect("localhost", "root", "", "test")
cursor = db.cursor()
# वर्तमान डेटटाइम प्राप्त करें
now = datetime.now()
# MySQL फॉर्मेट में बदलें: 'YYYY-MM-DD HH:MM:SS'
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')
# पैरामीटराइज़्ड क्वेरी से इन्सर्ट करें
sql = "INSERT INTO my_table (id, date_created) VALUES (%s, %s)"
cursor.execute(sql, (1, formatted_date))
db.commit()
print("डेट इन्सर्ट हो गया:", formatted_date)
db.close()
डेट रिट्रीव करना (Retrieve Date)
डेटाबेस से डेट फेच करने पर वह स्ट्रिंग के रूप में वापस आता है। इसे वापस datetime ऑब्जेक्ट में बदलने के लिए strptime का उपयोग करें:
from datetime import datetime
import PyMySQL
db = PyMySQL.connect("localhost", "root", "", "test")
cursor = db.cursor()
# डेटा फेच करें
cursor.execute("SELECT id, date_created FROM my_table WHERE id = 1")
row = cursor.fetchone()
if row:
id_val, date_str = row
print("डेटाबेस से मिला स्ट्रिंग:", date_str)
# स्ट्रिंग को datetime ऑब्जेक्ट में पार्स करें
created_date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print("पार्स किया गया datetime ऑब्जेक्ट:", created_date)
print("सिर्फ डेट:", created_date.date())
print("सिर्फ समय:", created_date.time())
db.close()
मुख्य फॉर्मेट कोड
| कोड | अर्थ |
|---|---|
| %Y | 4-अंकीय वर्ष (2024) |
| %m | 2-अंकीय महीना (01-12) |
| %d | 2-अंकीय दिन (01-31) |
| %H | घंटा 24-फॉर्मेट (00-23) |
| %M | मिनट (00-59) |
| %S | सेकंड (00-59) |
सलाह: हमेशा पैरामीटराइज़्ड क्वेरी (%s प्लेसहोल्डर) का उपयोग करें, स्ट्रिंग फॉर्मेटिंग का नहीं।