pymysql连接mysql数据库
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
核心:sql语句
pymysql连接数据库是其核心还是sql语句,只不过前提是用PyMysql的库连接数据库。
简单操作:
参考菜鸟教程:http://www.runoob.com/python3/python3-mysql.html
导入pymysql库
# 导入pymysql库
import pymysql
# 连接数据库
db = pymysql.connect('mysql_add','username','password','DB_name')
# 创建游标
cursor = db.cursor()
# sql语句
sql = """sql"""
# 执行sql语句
cursor.execute(sql)
# 执行完毕断开连接
db.close()
12月12日,update
在实际操作过程中,仅仅这样访问是不够的,pymysql.connect()
的参数名称分不清的话会连接不成功。
pymysql.Connect()参数说明,(注意,mysql的用户名参数是user,密码的参数是passwd):
pymysql.Connect(
host = 'ip_add',
port = 'port',
user = 'username',
passwd = 'password',
db = 'DB_name''
charset = 'utf8',
)
connect对象说明:
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接
cursor = connect(object).cursor()
数据库操作完之后需要关闭。
先关闭cursor.close()
在关闭connect.close()
SQLALChemy操作mysql数据库
SQLALChemy操作数据库用的是ORM对象关系映射模型(Object-Relational Mapping),把关系数据库的表结构映射到对象上。操作数据库通过控制映射的对象即可,不需要去直接写sql语句。
简单操作:
from sqlalchemy import create_engine,Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 连接数据库
connect = create_engine("mysql+pymysql://root:root@localhost:3306/sqlachemytest",
encoding="utf-8",
echo=True)
Base = declarative_base()
# 构造表的结构
class User(Base):
__tablename__ = "users_table"
id = Column(Integer,primary_key=True,nullable=False)
name = Column(String(32))
password = Column(String(32))
# 如果User表不存在的话,就创建改表
Base.metadata.create_all(connect)
DBsession = sessionmaker(bind=connect)
session = DBsession()
# 为表添加用户
new_user = User(name='HANG',password='123456')
#事务操作
session.add(new_user)
session.commit()
session.close()
比较详细的友博:https://blog.csdn.net/u011521019/article/details/50793996
flask-sqlalchemy
SQLAlchemy是一个独立的模块,不过被很多框架都囊括其中。比如有flask-SQLAlchemy这样的flask扩展。我以前接触过这个,比原生的要简化一些,但仅仅是为了体验ORM没必要去搭一个flask环境,以后在你用flask写网站的时候,如果数据库是mysql,那你就极大可能的用到这个。
当然在你学会原生的SQLALChemy,这个也就很简单 了。
版权声明:本文为qq_42776455原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。