python十二天学习记录

来源:互联网 发布:淘宝 收藏提升 编辑:程序博客网 时间:2024/05/21 16:55

数据库

执行原生SQL:
使用pymysql模块

import pymysqlconn = pymysql.connect(host='192.168.207.136', port=3306, user='root', passwd='123456', db='oldboydb')cursor = conn.cursor()effect_row = cursor.execute("select * from student")print(cursor.fetchall())cursor.close()conn.close()

更高级的封装:
使用sqlalchemy模块

import sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, Enum, DATE, ForeignKeyfrom sqlalchemy.orm import sessionmaker, relationshipengine = create_engine("mysql+pymysql://root:123456@192.168.207.136/oldboydb1?charset=utf8",                       encoding="utf-8", echo=False)Base = declarative_base()class Student(Base):    __tablename__ = "student"    id = Column(Integer, primary_key=True)    name = Column(String(32), nullable=False)    register_date = Column(DATE, nullable=False)    def __repr__(self):        return "<%s name:%s>" % (self.id, self.name)class StudyRecord(Base):    __tablename__ = "study_record"    id = Column(Integer, primary_key=True)    day = Column(Integer, nullable=False)    status = Column(String(32), nullable=False)    stu_id = Column(Integer, ForeignKey("student.id"))    student = relationship("Student", backref="my_study_record")    def __repr__(self):        return "<%s day:%s status:%s>" % (self.student.name, self.day, self.status)Base.metadata.create_all(engine)Session_class = sessionmaker(bind=engine)session = Session_class()s1 = Student(name="Alex", register_date="2014-05-21")s2 = Student(name="Jack", register_date="2014-03-21")s3 = Student(name="Rain", register_date="2014-02-21")s4 = Student(name="Eric", register_date="2013-01-21")study_obj1 = StudyRecord(day=1, status="YES", stu_id=1)study_obj2 = StudyRecord(day=2, status="NO", stu_id=1)study_obj3 = StudyRecord(day=3, status="YES", stu_id=1)study_obj4 = StudyRecord(day=1, status="YES", stu_id=2)session.add_all([s1,s2,s3,s4,study_obj1,study_obj2,study_obj3,study_obj4])stu_obj = session.query(Student).filter(Student.name=="alex").first()print(stu_obj.my_study_record)session.commit()
0 0
原创粉丝点击