pymysql和SQLALChemy基础使用(python3)

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,这个也就很简单 了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值