PyMySQL 使用笔记
来源:互联网 发布:单片机温度报警器程序 编辑:程序博客网 时间:2024/06/16 05:06
标签: 数据库 python
connections 模块
类:Connection
- 用法:执行
pymysql.connect()
得到。而不是构造函数Connection()
。 pymysql.connect()
的参数即为Connection()
构造函数的参数。- 构造函数:
pymysql.connections.Connection(self, host=None, # 要连接的主机地址 user=None, # 用于登录的数据库用户 password='', # 密码 database=None, # 要连接的数据库 port=0, # 端口,一般为 3306 unix_socket=None, # 选择是否要用unix_socket而不是TCP/IP charset='', # 字符编码 sql_mode=None, # Default SQL_MODE to use. read_default_file=None, # 从默认配置文件(my.ini或my.cnf)中读取参数 conv=None, # 转换字典 use_unicode=None, # 是否使用 unicode 编码 client_flag=0, # Custom flags to send to MySQL. Find potential values in constants.CLIENT. cursorclass=<class 'pymysql.cursors.Cursor'>, # 选择 Cursor 类型 init_command=None, # 连接建立时运行的初始语句 connect_timeout=10, # 连接超时时间,(default: 10, min: 1, max: 31536000) ssl=None, # A dict of arguments similar to mysql_ssl_set()'s parameters.For now the capath and cipher arguments are not supported. read_default_group=None, # Group to read from in the configuration file. compress=None, # 不支持 named_pipe=None, # 不支持 no_delay=None, # autocommit=False, # 是否自动提交事务 db=None, # 同 database,为了兼容 MySQLdb passwd=None, # 同 password,为了兼容 MySQLdb local_infile=False, # 是否允许载入本地文件 max_allowed_packet=16777216, # 限制 `LOCAL DATA INFILE` 大小 defer_connect=False, # Don't explicitly connect on contruction - wait for connect call. auth_plugin_map={}, # read_timeout=None, # write_timeout=None, bind_address=None # 当客户有多个网络接口,指定一个连接到主机 )
- 重要函数
cursor(cursor = None)
创建一个游标 commit()
事务提交,如果没有设为自动提交,则每次操作后必须提交事务,否则操作无效。 rollback()
操作出错时,可以用这个函数回滚到执行事务之前 close()
关闭连接- 一个例子
import pymysql.cursorsconfig = { 'host':'127.0.0.1', 'port':3306, 'user':'root', 'password':'xinxin2333', 'database':'trade_ms', 'charset':'utf8mb4', 'cursorclass':pymysql.cursors.Cursor, }# 连接数据库connection = pymysql.connect(**config)
cursors 模块
类 : Cursor
- 使用
connections.Connection.cursor()
得到,而不是这个类的构造函数。 connections.Connection.cursor()
的参数是cursor
的类型。- 重要函数
callproc(procname, args=())
执行一个过程 execute(query,args=None)
执行一条SQL语句,返回受影响的行数。若args
是列表,用%s
做占位符,若是字典,用%(name)s
executemany(query,args)
对一个操作运行多个数据,如一次插入多条数据 fetchall()
取出操作返回的所有的行 fetchone()
取出一行 fetchmany(size=None)
取出 size 行 close()
关闭这个游标对象- 游标类型
- 举例说明
#Cursor 查询返回(10000, 't恤男短袖', 28, Decimal('89.00'), 300) #DictCursor 查询返回{'cid': 10000, 'cname': 't恤男短袖', 'claid': 28, 'price': Decimal('89.00'), 'cnum': 300}
- 一个例子
#!python3#-*- coding: utf-8 -*-import pymysql.cursors # 好像import这个模块就可以了config = { 'host':'127.0.0.1', 'port':3306, 'user':'root', 'password':'xinxin2333', 'database':'trade_ms', 'charset':'utf8mb4', 'cursorclass':pymysql.cursors.Cursor, }connection = pymysql.connect(**config) # 连接数据库try: with connection.cursor() as cursor: sql = 'SELECT * FROM commodity WHERE price > 100 ORDER BY price' count = cursor.execute(sql) # 影响的行数 print(count) result = cursor.fetchall() # 取出所有行 for i in result: # 打印结果 print(i) connection.commit() # 提交事务except: connection.rollback() # 若出错了,则回滚finally: connection.close()
阅读全文
4 0
- PyMySQL 使用笔记
- Python3 pymysql 操作笔记
- pymysql 安装使用
- pymysql使用心得记录
- pymysql使用心得记录
- pymysql使用详解
- PyMySQL基本使用
- pymysql
- pymysql
- pymysql
- pymysql
- PyMySQL
- django1.6中使用PyMySQL
- Django使用pymysql的方法
- python使用pymysql操作mysql
- 使用 pymysql 操作MySQL数据库
- pymysql、mysqll、django的使用
- python3 使用 pymysql操作mysql
- 第六天-Java内部类
- 比较Activity与Fragment的生命周期
- Mac系统终端通过ssh连接CentOS
- 集合框架总结
- IAR 设置TAB代码格式问题
- PyMySQL 使用笔记
- Urllib库与URLError异常处理
- 电脑配置挑选速成攻略
- jsp通过JDBC驱动访问mysql数据库
- C++虚函数与动态联编
- ubuntu的常用命令与网络配置
- Bash 并行爬虫
- 机器学习实战- 第三章 决策树-学习笔记
- charles-Map Local Settings