Python使用pymysql连接数据库

1.导包

import pymysql

2.连接数据库

connection = pymysql.connect(
    host='',  # 数据库地址
    port=3306, #端口
    user='',  # 数据库用户名
    password='',  # 数据库密码
    db='',  # 数据库名称
    # charset = 'utf8 -- UTF-8 Unicode'
)

3.创建游标

cursor = connection.cursor()

4.数据操作

查询

            #SQL语句
        sql = 'select * from user'
        #execute执行操作
        cursor.execute(sql)
        result = cursor.fetchall()
        print(type(result),cursor.rowcount)
        print(result)

fetchall 查询时获取结果集中的所有行,一行构成一个元组,然后再将这些元组返回(即嵌套元组)。

ferchone 查询时获取结果集的第一行数据,返回一个元组,该元组元素即为第一行数据,如果没有则为null(注:在python中使用应为None)

execute 为单条数据插入

executemany 批量数据插入

cursor.rowcount 用来记录操作次数

插入(批量插入)

            #插入SQL语句
        sql = 'insert into user(username,sex,password,pid,tel) values (%s,%s,%s,%s,%s)'
        #插入数据
        data = [
            ('test1', '男', '123456', 3, '110'),
            ('test2', '女', '123456', 2, '120'),
        ]
        #拼接并执行SQL语句
        cursor.executemany(sql,data)
        #涉及写操作要提交
        connection.commit()
        print(cursor.rowcount)

不管数据库中的数据类型是什么,在sql语句中统一使用字符串类型%s connection.commit() 涉及写操作要提交

修改

            #修改SQL语句
        sql = 'update user set tel="12345622" where id="64"'
        #执行SQL语句
        cursor.execute(sql)
        connection.commit()
        print(cursor.rowcount)

删除

            #删除SQL语句
        sql = 'delete from user where id = 64'
        cursor.execute(sql)
        connection.commit()
        print(cursor.rowcount)

关闭

        #关闭游标
        cursor.close()
        #关闭连接
        connection.close()