3.2 Python 连接数据库

    xiaoxiao2022-07-01  109

    3.2 Python连接数据库

    3.2 Python3 MySQL 数据库连接3.2.1.什么是 PyMySQL?3.2.2 PyMySQL安装3.2.3 数据库连接3.2.4 数据库查询

    3.2 Python3 MySQL 数据库连接

    3.2.1.什么是 PyMySQL?

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

    3.2.2 PyMySQL安装

    PyMySQL下载地址:https://github.com/PyMySQL/PyMySQL。

    使用pip命令进行安装:

    $ pip install PyMySQL

    使用 git 命令下载安装包安装(你也可以手动下载):

    $ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL/ $ python3 setup.py install

    3.2.3 数据库连接

    通过如下代码测试数据库连接 #!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect(host="localhost",user="root",password="",db="mydb",charset="utf8") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print ("Database version : %s " % data) # 关闭数据库连接 db.close() 执行数据查询: #!/usr/bin/python3 import pymysql #打开数据库连接 db = pymysql.connect(host="localhost",user="root",password="",db="mydb",charset="utf8") #使用cursor()方法创建一个游标对象cursor cursor = db.cursor() #定义查询sql语句 #sql = "select * from stu" sql = "select * from stu where classid='%s'"%("python03") try: # 使用execute()方法执行SQL查询 cursor.execute(sql) print("本次查询条数:",cursor.rowcount) ''' # 使用fetchone()方法获取单条数据. while True: data = cursor.fetchone(); if data == None: break; print (data) ''' #使用fetchall()获取所有结果 alist = cursor.fetchall() for vo in alist: print(vo) except Exception as err: print("SQL执行错误,原因:",err) # 关闭数据库连接 db.close() 执行数据添加 #!/usr/bin/python3 import pymysql #打开数据库连接 db = pymysql.connect(host="localhost",user="root",password="",db="mydb",charset="utf8") #使用cursor()方法创建一个游标对象cursor cursor = db.cursor() #定义添加sql语句 data = ("uu100",28,'w','python05') sql = "insert into stu(name,age,sex,classid) values('%s','%d','%s','%s')"%(data) try: # 使用execute()方法执行SQL m = cursor.execute(sql) # 事务提交 db.commit() print("成功操作条数:",m) #print("成功操作条数:",cursor.rowcount) except Exception as err: #事务回滚 db.rollback() print("SQL执行错误,原因:",err) # 关闭数据库连接 db.close() 执行删除操作 #!/usr/bin/python3 import pymysql #打开数据库连接 db = pymysql.connect(host="localhost",user="root",password="",db="mydb",charset="utf8") #使用cursor()方法创建一个游标对象cursor cursor = db.cursor() #定义删除sql语句 sql = "delete from stu where id=%d"%(100) try: # 使用execute()方法执行SQL cursor.execute(sql) # 事务提交 db.commit() print("成功删除条数:",cursor.rowcount) except Exception as err: #事务回滚 db.rollback() print("SQL执行错误,原因:",err) # 关闭数据库连接 db.close()

    3.2.4 数据库查询

    Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

    fetchone(): 该方法获取下一个查询结果集。结果集是一个对象,最后返回None结束

    fetchall(): 接收全部的返回结果行.

    rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数

    ------------------------------------------------------------ 列出已安装的包: $ pip list $ pip freeze # 查看自己安装的 安装软件(安装特定版本的package,通过使用==, >=, <=, >, <来指定一个版本号)** $ pip install SomePackage $ pip install 'Markdown<2.0' $ pip install 'Markdown>2.0,<2.0.3' 卸载软件pip uninstall SomePackage $ pip uninstall SomePackage 下载所需的软件包: $ pip download SomePackage -d directory 例如下载PyMySQL软件包 $ pip download PyMySQL -d D:/pypackage 安装下载好的软件包文件 $ pip install 目录/软件包文件名 如安装PyMySQL软件包 $ pip3.6 install D:/pypackage/PyMySQL-0.7.11-py2.py3-none-any.whl
    最新回复(0)