استفاده از Sqlalchemy برای درج مقادیر ستون Timestamp MySQLدر پایتون
موسسه پایا پروژه به عنوان متصدی انجام پروژه های پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی پایتون مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
این پروژه پایتون در مورد این است که چگونه می توانیم یک ستون مهر زمانی با مقادیر در MYSQL به همراه سایر داده ها در پایگاه داده SQL اضافه کنیم. Timestamp بسیار مفید است زیرا زمان ایجاد آن موجودیت خاص در پایگاه داده را فراهم می کند.
در اینجا ما از SQLAlchemy استفاده خواهیم کرد زیرا یک ابزار محبوب برنامه نویسی پایتون SQL و ORM (نقشه ارتباطی شی) است که به توسعه دهندگان نرم افزار قدرت و انعطاف پذیری جستجو در پایگاه داده های SQL با استفاده از پایتون را می دهد.
ماژول های مورد نیاز برای انجام پروژه پایتون:
MySQL نصب شده است در غیر این صورت می توانید، پس از نصب آن را برای کار با پایتون به صورت زیر پیکربندی می کنیم:
pip install SQLAlchemy
pip install psycopg2
پایگاه داده MySQL را با پایتون پیکربندی کنید
اکنون به پایگاه داده ای نیاز داریم که برای نمایش از آن استفاده خواهیم کرد، که می تواند با اجرای دستورات زیر در پوسته SQL ایجاد و پیکربندی شود.
اتصال MYSQL با استفاده از پایتون
در اینجا ما از ‘Sqlalchemy ‘create_engine برای اتصال به پایگاه داده MySQL استفاده می کنیم.
Import necessary libraries#
import datetime
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine, Column, Integer, String, TIMESTAMP
Create engine and sessionmaker#
)engine = create_engine
,’mysql+mysqlconnector://root:1234@localhost:3306/gfg‘
(echo=False
session instance is used to communicate with the database#
Session = sessionmaker(bind=engine)
()session = Session)
ایجاد جدول برای نمایش با مهر زمان
اکنون در پروژه پایتون که پایگاه داده MySQL را به پایتون متصل کرده ایم، اکنون با استفاده از SQLAlchemy برای این نمایش با استفاده از اسکریپت پایتون زیر، نام جدول “users” ایجاد می کنیم.
Import necessary libraries#
import datetime
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine, Column, Integer, String, TIMESTAMP
Create engine and sessionmaker#
)engine = create_engine
,’mysql+mysqlconnector://root:1234@localhost:3306/gfg‘
(echo=False
session instance is used to communicate with the database#
Session = sessionmaker(bind=engine)
()session = Session
Create base class#
()Base = declarative_base
Define table class#
:class User(Base)
‘__tablename__ = ‘users
id = Column(Integer, primary_key=True)
name = Column(String(50))
,created_at = Column(TIMESTAMP,
( default=datetime.datetime.utcnow
Create table#
Base.metadata.create_all(engine)
خروجی:
یک نام جدول ‘users’ در پایگاه داده MySQL با ستون های زیر مانند شکل زیر ایجاد کرده است.
درج داده ها در جدول
برای درج دادهها، طبق محدودیتهای جدول به مقداری داده نیاز داریم، در اینجا از Python برای درج یک ورودی با زمان فعلی بازیابی شده با استفاده از ماژول ‘datetime’ Python در پایگاه داده MySQL استفاده میکنیم. با اجرای کد زیر، یک ورودی واحد با مهر زمانی زمان ایجاد درج کرده ایم.
Insert values#
Create user objects#
user1 = User(name=’John’)
user2 = User(name=’Smith’)
user3 = User(name=’Peter’)
Add user objects to session#
session.add(user1)
session.add(user2)
session.add(user3)
Commit the changes to the database#
()session.commit
خروجی:
همانطور که می بینید 3 ورودی با مهر زمانی مربوطه در پایگاه داده MYSQL وجود دارد.