python使用数据库

使用python-DB-api,只需要搞清楚Connection、Cursor对象,打开后一定得关闭。

Cursor对象执行insert、update、delete,结果由rowcount返回影响的行数,拿到执行结果。

Cursor对象执行select,通过featchall()拿到list的结果集,每个元素都是一个tuple,对应一行记录

sql带有参数,需要把参数按照位置传递给execute()方法。

安装Mysql官方提供的Python驱动

pip install mysql-connection-python --allow-external mysql-connection-python

操作mysql的步骤:

import mysql.connector

conn=mysql.connector.connect(user='root', passWord='password', database='test')

cursor=conn.cursor()

cursor.execute('create table user(id varchar(20) primary key, name varchar(20))')

cursor.execute('insert into user(id, name) values(%s, %s)', ['1', 'Michael'])

cursor.rowcount

conn.commit()

cursor.close()

cursor = conn.cursor()

cursor.execute('select * from user where id = %s', ['1'])

values = cursor.fetchall()

values

cursor.close()

conn.close()

ORM技术 -- Object-Relational Mapping,把关系数据库的表接受映射到对象上。

ORM框架 -- SQLAlchemy 

SQLAlchemy的应用, 初始化DBSession

from sqlalchemy import Column, String, create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User(Base):     __tablename__ = 'user'          id = Column(String(20), primary_key = True)     name = Column(String(20))           engine = create_engine('mysql+mysqlconnector://root:password@localhost:3306/test') DBSession = sessionmaker(bind=engine)