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

mysql安装教程
mysql语法大全

一、安装
 pip install pymysql
二、连接数据库
import pymysql # 打开数据库连接
conn = pymysql.connect(host="localhost",user="testuser",password="test123",database="TESTDB" ) 
cursor = conn.cursor(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   # 当客户有多个网络接口,指定一个连接到主机         
        )
    
  2. conn.commit() 提交事务,每次修改表时都需要调用,如:插入、删除、修改
    cursor.execute("INSERT INTO table_name (column_1, column_2, ...) VALUES (value1,value2,...)")
    conn.commit()
    cursor.close()
    
  3. conn.close() 关闭数据库
  4. conn.rollback() 回滚事务
  5. conn.select_db(baseName) 切换数据库
  6. conn.cursor(cursor) 获取游标对象,操作数据库
    import pymysql # 打开数据库连接
    cursor = conn.cursor(pymysql.cursors.Cursor) 
    #cursor 参数
    pymysql.cursors.Cursor:普通的游标对象,默认创建的游标对象
    pymysql.cursors.SSCursor:不缓存游标,主要用于当操作需要返回大量数据的时候
    pymysql.cursors.DictCursor:以字典的形式返回操作结果
    pymysql.cursors.SSDictCursor:不缓存游标,将结果以字典的形式进行返回
    
  7. cursor.close() 关闭游标对象
  8. cursor.execute(query) 执行sql语句
    cursor.execute("SELECT * FROM table_name")
    
  9. 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()
    
  10. cursor.fetchone() 获取查询结果单条记录
  11. cursor.fetchmany(size) 获取查询结果集中指定数量的记录,size默认为1
  12. cursor.fetchall() 获取查询结果集中所有记录
  13. cursor.nextset()跳至下一个可用的结果集
  14. cursor.setinputsizes(sizes) 参数预先定义内存区域
  15. cursor.setoutputsize(size[, col]) 获取大数据值设定缓冲区尺寸

你可能感兴趣的:(python,数据库,数据库,python,mysql)