【Python関連アプリケーション】1.PythonでSQLalchemyを使用
2275 ワード
# coding:utf8
# ORM
# pip install mysql-client
# pip install sqlalchemy
#
from sqlalchemy import create_engine
# echo=True----- sql
engine = create_engine('mysql://root:[email protected]:3306/test1', echo=True)
#
# declarative_base
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from sqlalchemy import Column, Integer, String
class User(Base):
#
__tablename__ = 'users'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(50))
password = Column(String(50))
#
def __repr__(self):
return "" % (self.name, self.name, self.password)
#
User.metadata.create_all(engine)
#
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
#
# add sql insert
# ed_user = User(id=0, name='test', password='test123')
# session.add(ed_user)
# session.commit()
# print("add :", ed_user)
def insert_con():
try:
insert_user = User(id=0, name='test', password='test123')
print("Select :", insert_user)
# add sql insert
session.add(insert_user)
session.commit()
print(" !!!")
except:
print(" !!!")
#
def delete_con(did):
try:
# select_user = session.query(User).filter_by(id=did).first()
select_user = session.query(User).filter(User.id == did).first()
print("Select :", select_user)
session.delete(select_user)
session.commit()
print(" !!!")
except:
print(" !!!")
# session.query( )-----
# filter_by---- sql where
# first()------ sql limit1
'''
select_user=session.query(User).filter_by(password='123').first()
select * from users where password='123' limit 1;
'''
def update_con(uid):
# update_user=session.execute('update users set name="hello world" where id=2 ')
# session.query(User).filter_by(id=uid).first().update({User.name: "Dr. No"})
session.query(User).filter(User.id == 5).update(
{User.name: "Dr. No"})
session.commit()
print("update !!!")
if __name__ == '__main__':
delete_con(5)
# update_con(5)