pymysql连接mysql数据库try_Python连接MySQL数据库之pymysql模块使用

本文详细介绍了如何在Python3中使用PyMySQL库连接和操作MySQL数据库,包括建立连接、创建表、插入数据、批量操作、查询、更新和删除等基本操作。
摘要由CSDN通过智能技术生成

33de6699b6c2d841d987dd22f6955474.png

本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。

b5da8a096a71b82b9a3758e707937c88.png

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

Django中也可以使用PyMySQL连接MySQL数据库。

9295cce1eb0d783d132fa5850724ad66.png

pip install pymysql

86b9e39220e0f05d4687a44ef33d027e.png

5c52c084fe5bf89c22e50338947ce921.png

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

你有一个MySQL数据库,并且已经启动。

你有可以连接该数据库的用户名和密码

你有一个有权限操作的database

9e301be602cd8b8043e6a5541ae6a62e.png

7e55b4becb000eb474a1541f0ab99c59.png

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor=conn.cursor()

# 定义要执行的SQL语句

sql= """CREATE TABLE USER1 (

id INT auto_increment PRIMARY KEY ,

name CHAR(10) NOT NULL UNIQUE,

age TINYINT NOT NULL

)ENGINE=innodb DEFAULT CHARSET=utf8;"""# 执行SQL语句

cursor.execute(sql)

# 关闭光标对象

cursor.close()

# 关闭数据库连接

conn.close()

206be04fab966788eeefa8cb688fb46c.png

返回字典格式数据:

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句并且将结果作为字典返回的游标

cursor= conn.cursor(cursor=pymysql.cursors.DictCursor)

# 定义要执行的SQL语句

sql= """CREATE TABLE USER1 (

id INT auto_increment PRIMARY KEY ,

name CHAR(10) NOT NULL UNIQUE,

age TINYINT NOT NULL

)ENGINE=innodb DEFAULT CHARSET=utf8;"""# 执行SQL语句

cursor.execute(sql)

# 关闭光标对象

cursor.close()

# 关闭数据库连接

conn.close()

注意:

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

30e7ad9c80d2b68d2f3e5ed36ed1984f.png

718459984a01dd379abdaedbcd13f121.png

增加一条数据

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor=conn.cursor()

sql= "INSERT INTO USER1(name, age) VALUES (%s, %s);"username= "Alex"age= 18# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

cursor.close()

conn.close()

添加多条数据

# 建立连接

conn=pymysql.connect(

host="127.0.0.1",

port=3306, # 不是字符串类型(不要加引号)

user="root",

password="123456",

database="day59",

charset="utf8" # 没有-!!!!)

# 获取一个光标

cursor=conn.cursor()

# 定义将要执行的SQL语句

sql= "insert into userinfo (name,"data=[

("高材生", "woyouqian"),

("changjiang", "huanghe"),

("zhanshen", "jishuchapiqida")

]

# 拼接并执行SQL语句

cursor.executemany(sql, data) # 批量创建,提交一次

# 涉及写操作注意要提交

conn.commit()

# 关闭连接

cursor.close()

conn.close()

插入数据失败回滚

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor=conn.cursor()

sql= "INSERT INTO USER1(name, age) VALUES (%s, %s);"username= "Alex"age= 18

try:

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

except Exceptionase:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

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

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor=conn.cursor()

sql= "INSERT INTO USER1(name, age) VALUES (%s, %s);"username= "Alex"age= 18

try:

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

# 提交之后,获取刚插入的数据的ID

last_id=cursor.lastrowid

except Exceptionase:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

批量执行

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor=conn.cursor()

sql= "INSERT INTO USER1(name, age) VALUES (%s, %s);"data= [("Alex", 18), ("Egon", 20), ("Yuan", 21)]try:

# 批量执行多条插入SQL语句

cursor.executemany(sql, data)

# 提交事务

conn.commit()

except Exceptionase:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

e30b7aaa2bdde42cdbf42931d58dbdd9.png

# 导入pymysql模块

import pymysql

# 连接database

conn= 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 Exceptionase:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

88b2bbdfce8ef34f204f5bc2acbb94cf.png

# 导入pymysql模块

import pymysql

# 连接database

conn= pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor=conn.cursor()

# 修改数据的SQL语句

sql= "UPDATE USER1 SET age=%s WHERE name=%s;"username= "Alex"age= 80

try:

# 执行SQL语句

cursor.execute(sql, [age, username])

# 提交事务

conn.commit()

except Exceptionase:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

87fbfd6e0392775e03e3cbcae4a28a8d.png

查询单条数据

# 导入pymysql模块

import pymysql

# 连接database

conn= 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

# 连接database

conn= 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)

9394c2c1b9b61096f974ab3f3ca70a10.png

# 可以获取指定数量的数据

cursor.fetchmany(3)

# 光标按绝对位置移动1

cursor.scroll(1, mode="absolute")

# 光标按照相对位置(当前位置)移动1

cursor.scroll(1, mode="relative")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,你需要安装pymysql库,这可以使用pip进行安装: ``` pip install pymysql ``` 然后,你可以使用以下代码连接MySQL数据库: ```python import pymysql # 连接数据库 connection = pymysql.connect(host='localhost', user='your_username', password='your_password', db='your_database_name', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) try: # 创建一个游标 with connection.cursor() as cursor: # 使用游标执行SQL查询 sql = "SELECT * FROM your_table" cursor.execute(sql) # 获取查询结果 result = cursor.fetchall() print(result) finally: # 关闭数据库连接 connection.close() ``` 在上面的代码中,你需要将'host', 'user', 'password', 'db'和'charset'替换为你自己的数据库连接信息。 在使用游标执行SQL查询之后,你可以使用fetchone()方法获取单行查询结果,或使用fetchall()方法获取所有行查询结果。 希望这对你有帮助! ### 回答2: 使用Python中的pymysql模块连接MySQL数据库的代码如下: ```python import pymysql # 连接数据库 conn = pymysql.connect( host='localhost', # 数据库地址 port=3306, # 端口号 user='root', # 用户名 password='123456', # 密码 db='testdb' # 数据库名 ) # 创建游标对象 cursor = conn.cursor() # 执行SQL语句 sql = "SELECT * FROM students" cursor.execute(sql) # 获取查询结果 result = cursor.fetchall() for row in result: print(row) # 关闭游标和连接 cursor.close() conn.close() ``` 以上代码实现了使用pymysql模块连接MySQL数据库,首先使用connect()函数连接数据库,指定数据库的地址、端口号、用户名和密码等信息。然后创建游标对象cursor,通过execute()方法执行SQL查询语句,并使用fetchall()方法获取查询结果。最后,关闭游标和连接,释放资源。 请注意,上述代码中的host、port、user、password和db需要根据实际的数据库配置进行修改,以连接到正确的MySQL数据库。 ### 回答3: Python使用pymysql连接MySQL数据库的代码如下: ```python import pymysql # 连接MySQL数据库 conn = pymysql.connect( host='localhost', # 数据库服务器地址 port=3306, # 数据库端口号 user='root', # 数据库用户名 password='123456', # 数据库密码 database='test' # 数据库名称 ) # 创建游标对象 cursor = conn.cursor() # 执行SQL查询语句 sql = "SELECT * FROM students" # 示例语句,可替换为实际的SQL查询语句 cursor.execute(sql) # 获取查询结果 result = cursor.fetchall() for row in result: print(row) # 断开连接 cursor.close() conn.close() ``` 以上代码首先导入pymysql模块,然后使用`pymysql.connect()`函数创建与MySQL数据库连接。在连接参数中,我们需要指定数据库服务器地址、端口号、用户名、密码和要连接数据库名称。 接着,我们创建了一个游标对象`cursor`,用于执行SQL查询语句。通过`cursor.execute()`函数执行SQL查询语句,并使用`cursor.fetchall()`函数获取查询结果。 最后,记得关闭游标和断开与数据库连接,以释放资源。 请根据实际情况修改代码中的连接参数和SQL查询语句,以适配你的MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值