Python 与数据库交互

 

安装:pip3 install pymysql
引入模块在python3里:from pymysql import *

使用步骤:
1、创建Connection对象,用于建立与数据库的连接,创建对象调用connect()方法

conn=connect(参数列表)
  • 参数host:连接mysql的主机,如果本机就用localhost
  • 参数port:连接mysql的端口,默认是3306
  • 参数database:数据库名称
  • 参数user:连接的用户名
  • 参数password:连接的密码
  • 参数charset:通信采用的编码方式,默认是utf-8

2、对象的方法

  • close() 关闭
  • commit() 提交
  • cursor() 返回Cursor对象,用于执行sql语句并获得结果
  • execute(operation,[,parameters]) 执行语句,返回受影响的函数,主要用于执行insert,update,delete语句,也可用于执行create,alter,drop等
  • fetchone() 执行查询语句时,获取查询结果集的第一行数据,返回一个元祖
  • fetchall() 执行查询时,获取结果集的所有行数,一行构成一个元祖,再讲这些元组装一个元组返回
  • fetchmany(n) 执行查询时,要取的数据条数,n为要取的条数
Cursor对象

功能:用于执行sql语句,常用的是增删改查,获取cursor对象,调用Connection对象的cursor()方法

cs=conn.cursor()
对象的属性
  • rowcount 只读属性,表示最近一次execute()执行受影响的行数
  • connection 获取当前连接对象
from pymysql import *

def main():
    # 必须要有固定的:创建connection连接
    conn = connect(host='localhost', port=3306, database='test', user='test', password='123456', charset='utf8')

    # 必须要有固定的:获取Cursor对象
    cs = conn.cursor()

    # 执行select语句,并返回查询的结果条数
    count = cs.execute('查询语句')

    # 打印返回的查询结果行数
    print("查询到%d条数据:" % count)

    for i in range(count):
        # 获取查询结果,取一行数据,仅返回一个元祖
        result = cs.fetchone()
        # 打印查询结构
        print(result)

    """
    取多行数据
    result1=fetchmany(3)
    result2=fetchall()  # 返回的结果是元组里嵌元组
    print(result)
    
    """

    # 必须要有固定的:关闭cursor对象
    cs.close()
    conn.close()

if __name__ == "__main__":
    main()
posted @ 2019-08-05 08:49  知了.Test  阅读(708)  评论(0编辑  收藏  举报