龙空技术网

一篇文章搞定Python连接mysql数据库模块PyMySQL

埋头苦干的小码农 617

前言:

此时同学们对“mysql查url地址”大致比较重视,同学们都想要知道一些“mysql查url地址”的相关内容。那么小编在网上网罗了一些对于“mysql查url地址””的相关资讯,希望大家能喜欢,兄弟们一起来了解一下吧!

PyMySQL安装方法

pip install pymysql
连接数据库

注意事项

在进行本文以下内容之前需要注意:

你有一个MySQL数据库,并且已经启动。你有可以连接该数据库的用户名和密码你有一个有权限操作的database基本使用

# 导入pymysql模块import pymysql# 链接库(database)conn = pymysql.connect(    host="127.0.0.1",  # host后面填写需要链接的数据库地址    user="root",  # 用户名    password="123456",  # 密码    database="human",  # 数据库名    charset="utf8"  # 编码方式)# 得到一个可以执行的SQL语句的光标cursor = conn.cursor()# 定义要执行的SQL语句sql = 'select * from info;'# 执行SQL语句cursor.execute(sql)# 关闭光标对象cursor.close()# 关闭数据库连接conn.close()

返回字典格式的数据

import pymysqlconn = pymysql.connect(    host="127.0.0.1",    user="root",    password="123456",    database="human",    charset="utf8")# 得到一个可以执行SQL语句并且将结果作为字典返回的游标cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)sql = 'select name from class;'# 执行sql语句cursor.execute(sql)# 返回查询到的所有数据ret = cursor.fetchall()# 返回查询到的指定条数数据# ret = cursor.fetchmany(5)print(ret)# 关闭链接cursor.close()conn.close()

注意

charset=“utf8”,编码不要写成"utf-8"

增删改查操作

import pymysqlconn = pymysql.connect(    host="127.0.0.1",    user="root",    password="123456",    database="human",    charset="utf8")cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 注意此处传值全部使用%s做占位符即可sql = "insert into class(name, age, sex, salary) VALUES(%s,%s,%s,%s)"name = 'abcd'age = '33'sex = '男'salary = '120.02'# 执行sql语句cursor.execute(sql, [name, age, sex, salary])# 提交事务conn.commit()cursor.close()conn.close()

插入数据失败回滚

import pymysqlconn = pymysql.connect(    host="127.0.0.1",    user="root",    password="123456",    database="human",    charset="utf8")cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)sql = "INSERT into class(name, age, sex, salary) values(%s,%s,%s,%s);"name = "ss"age = "22"sex = "男22"salary="1234.2"try:    cursor.execute(sql, [name, age, sex, salary])    # 提交事务    conn.commit()except Exception:    print('出错')    # 有异常回滚事务    conn.rollback()cursor.close()conn.close()

获取插入数据的ID(关联操作时会用到)

# 导入pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到一个可以执行SQL语句的光标对象cursor = conn.cursor()sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"username = "run"age = 18try:    # 执行SQL语句    cursor.execute(sql, [username, age])    # 提交事务    conn.commit()    # 提交之后,获取刚插入的数据的ID    last_id = cursor.lastrowidexcept Exception as e:    # 有异常,回滚事务    conn.rollback()cursor.close()conn.close()

批量执行

# 导入pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到一个可以执行SQL语句的光标对象cursor = conn.cursor()sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"data = [("run1", 18), ("run2", 20), ("run3", 21)]try:    # 批量执行多条插入SQL语句    cursor.executemany(sql, data)    # 提交事务    conn.commit()except Exception as e:    # 有异常,回滚事务    conn.rollback()cursor.close()conn.close()

# 导入pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到一个可以执行SQL语句的光标对象cursor = conn.cursor()sql = "DELETE FROM USER1 WHERE id=%s;"try:    cursor.execute(sql, [4])    # 提交事务    conn.commit()except Exception as e:    # 有异常,回滚事务    conn.rollback()cursor.close()conn.close()

# 导入pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到一个可以执行SQL语句的光标对象cursor = conn.cursor()# 修改数据的SQL语句sql = "UPDATE USER1 SET age=%s WHERE name=%s;"username = "run1"age = 80try:    # 执行SQL语句    cursor.execute(sql, [age, username])    # 提交事务    conn.commit()except Exception as e:    # 有异常,回滚事务    conn.rollback()cursor.close()conn.close()

查询单条数据

# 导入pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到一个可以执行SQL语句的光标对象cursor = conn.cursor()# 查询数据的SQL语句sql = "SELECT id,name,age from USER1 WHERE id=1;"# 执行SQL语句cursor.execute(sql)# 获取单条查询数据ret = cursor.fetchone()cursor.close()conn.close()# 打印下查询结果print(ret)

查询多条数据

# 导入pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到一个可以执行SQL语句的光标对象cursor = conn.cursor()# 查询数据的SQL语句sql = "SELECT id,name,age from USER1;"# 执行SQL语句cursor.execute(sql)# 获取多条查询数据ret = cursor.fetchall()cursor.close()conn.close()# 打印下查询结果print(ret)
进阶用法
# 可以获取指定数量的数据cursor.fetchmany(3)# 光标按绝对位置移动1cursor.scroll(1, mode="absolute")# 光标按照相对位置(当前位置)向后移动1cursor.scroll(1, mode="relative")# 光标按照相对位置(当前位置)向前移动1cursor.scroll(-1, mode="relative")

#计算机##mysql##数据库##python##科技新星创作营#

标签: #mysql查url地址