1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用

python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用

时间:2020-08-07 12:08:43

相关推荐

python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用

Python3连接MySQL

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

PyMySQL介绍

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

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

PyMySQL安装pipinstallpymysql

连接数据库

注意事项

在进行本文以下内容之前需要注意:你有一个MySQL数据库,并且已经启动。

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

你有一个有权限操作的database

基本使用#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

#定义要执行的SQL语句

sql="""

CREATETABLEUSER1(

idINTauto_incrementPRIMARYKEY,

nameCHAR(10)NOTNULLUNIQUE,

ageTINYINTNOTNULL

)ENGINE=innodbDEFAULTCHARSET=utf8;

"""

#执行SQL语句

cursor.execute(sql)

#关闭光标对象

cursor.close()

#关闭数据库连接

conn.close()

返回字典格式数据:#导入pymysql模块

importpymysql

#连接database

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

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

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

#定义要执行的SQL语句

sql="""

CREATETABLEUSER1(

idINTauto_incrementPRIMARYKEY,

nameCHAR(10)NOTNULLUNIQUE,

ageTINYINTNOTNULL

)ENGINE=innodbDEFAULTCHARSET=utf8;

"""

#执行SQL语句

cursor.execute(sql)

#关闭光标对象

cursor.close()

#关闭数据库连接

conn.close()

注意:

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

增删改查操作

增#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

sql="INSERTINTOUSER1(name,age)VALUES(%s,%s);"

username="Alex"

age=18

#执行SQL语句

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

#提交事务

mit()

cursor.close()

conn.close()

插入数据失败回滚

在执行增删改操作时,如果不想提交前面的操作,可以使用 rollback() 回滚取消操作。#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

sql="INSERTINTOUSER1(name,age)VALUES(%s,%s);"

username="Alex"

age=18

try:

#执行SQL语句

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

#提交事务

mit()

exceptExceptionase:

#有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

获取插入数据的ID(关联操作时会用到)#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

sql="INSERTINTOUSER1(name,age)VALUES(%s,%s);"

username="Alex"

age=18

try:

#执行SQL语句

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

#提交事务

mit()

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

last_id=cursor.lastrowid

exceptExceptionase:

#有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

批量执行#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

sql="INSERTINTOUSER1(name,age)VALUES(%s,%s);"

data=[("Alex",18),("Egon",20),("Yuan",21)]

try:

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

cursor.executemany(sql,data)

#提交事务

mit()

exceptExceptionase:

#有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

删#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

sql="DELETEFROMUSER1WHEREid=%s;"

try:

cursor.execute(sql,[4])

#提交事务

mit()

exceptExceptionase:

#有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

改#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

#修改数据的SQL语句

sql="UPDATEUSER1SETage=%sWHEREname=%s;"

username="Alex"

age=80

try:

#执行SQL语句

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

#提交事务

mit()

exceptExceptionase:

#有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

查询单条数据#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

#查询数据的SQL语句

sql="SELECTid,name,agefromUSER1WHEREid=1;"

#执行SQL语句

cursor.execute(sql)

#获取单条查询数据

ret=cursor.fetchone()

cursor.close()

conn.close()

#打印下查询结果

print(ret)

查询多条数据#导入pymysql模块

importpymysql

#连接database

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

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

cursor=conn.cursor()

#查询数据的SQL语句

sql="SELECTid,name,agefromUSER1;"

#执行SQL语句

cursor.execute(sql)

#获取多条查询数据

ret=cursor.fetchall()

cursor.close()

conn.close()

#打印下查询结果

print(ret)

进阶用法#可以获取指定数量的数据

cursor.fetchmany(3)

#光标按绝对位置移动1

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。