python 模块pymysql模块,连接mysql数据库

python 模块pymysql模块,连接mysql数据库

技术教程gslnedu2025-02-09 12:12:1313A+A-

mysql安装教程
mysql语法大全

python模块之 aiomysql 异步mysql

一、安装

pip install pymysql


二、连接数据库

import pymysql # 导入模块
conn = pymysql.connect(host="localhost",user="testuser",password="test1comc3",database="TESTDB" ) 
cursor = conn.cursor() 

三、相关函数

  1. pymysql.connect 连接数据库
 pymysql.connect(
    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=, # 选择 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   # 当客户有多个网络接口,指定一个连接到主机         
    )


  1. conn.commit() 提交事务,每次修改表时都需要调用,如:插入、删除、修改
cursor.execute("INSERT INTO table_name (column_1, column_2, ...) VALUES (value1,value2,...)")
conn.commit()
cursor.close()
  1. conn.close() 关闭数据库
  2. conn.rollback() 回滚事务
  3. conn.select_db(baseName) 切换数据库
  4. conn.cursor(cursor) 获取游标对象,操作数据库
import pymysql # 打开数据库连接
cursor = conn.cursor(pymysql.cursors.Cursor) 
#cursor 参数
pymysql.cursors.Cursor:普通的游标对象,默认创建的游标对象
pymysql.cursors.SSCursor:不缓存游标,主要用于当操作需要返回大量数据的时候
pymysql.cursors.DictCursor:以字典的形式返回操作结果
pymysql.cursors.SSDictCursor:不缓存游标,将结果以字典的形式进行返回

  1. cursor.close() 关闭游标对象
  2. cursor.execute(query) 执行sql语句
cursor.execute("SELECT * FROM table_name")
  1. cursor.executemany(query,params) 用于执行sql语句,如:批量更新
sql = 'insert into myTable (created_day,name,count) values(%s,%s,%s) ON DUPLICATE KEY UPDATE'
args=[("2012-08-27","name1",100),("2012-08-27","name1",200),("2012-08-27","name2",300)]
cursor.executemany(sql, args)
conn.commit()
cursor.close()
  1. cursor.fetchone() 获取查询结果单条记录
  2. cursor.fetchmany(size) 获取查询结果集中指定数量的记录,size默认为1
  3. cursor.fetchall() 获取查询结果集中所有记录
  4. cursor.nextset()跳至下一个可用的结果集
  5. cursor.setinputsizes(sizes) 参数预先定义内存区域
  6. cursor.setoutputsize(size[, col]) 获取大数据值设定缓冲区尺寸
点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8