python mysql connector_Python——MySQL操作,使用mysql.connector

本文介绍了如何使用Python的mysql.connector模块连接并操作MySQL数据库,包括建立连接、执行SELECT、INSERT、UPDATE和DELETE语句,以及使用预处理格式进行安全查询。示例代码详细展示了各种操作方法。
摘要由CSDN通过智能技术生成

下载安装mysql-connector

pip install mysql-connector

连接MySQL

主要是使用mysql.connector模块的connect函数,需要注意参数的名称

import mysql.connector

# 接收参数:user, password, host, port=3306, unix_socket and database

# 返回一个MySQLConnection Object

conn=mysql.connector.connect(

host='localhost',

user='root',

password='root',

database='test')

select查询操作

执行select操作,使用fetchall()一次性取回所有的结果集。

import mysql.connector

# 接收参数:user, password, host, port=3306, unix_socket and database

# 返回一个MySQLConnection Object

conn = mysql.connector.connect(

host='localhost',

user='root',

password='root',

database='test'

)

# 创建一个查询

cmd = conn.cursor()

# 执行一条原生的SQL语句,执行结果保存在cmd中,没有返回值

cmd.execute("select id, name, age from stu")

# 可以使用fetchall(),获取所有的查询结果集,返回值为一个tuple,每一个元素是一个list

res = cmd.fetchall()

print(res)

# [(1, 'LiMing', 20), (2, 'XiaoHua', 30), (3, 'LiLei', 10)]

insert、update、delete操作

insert、update、delete操作,也都是使用execute方法,只需要将要执行的sql语句传入即可。

可以在执行增删改操作之后,rowcount属性保存着受影响的记录数。

每次插入一条数据

import mysql.connector

# 接收参数:user, password, host, port=3306, unix_socket and database

# 返回一个MySQLConnection Object

conn=mysql.connector.connect(

host='localhost',

user='root',

password='root',

database='test')

# 创建一个查询

cmd=conn.cursor()

# 执行原生SQL语句

cmd.execute("insert into stu (id, name, age) values (4, 'LiBai', 99)")

print(cmd.rowcount) #1cmd.execute("select * from stu")

res=cmd.fetchall()

print(res)

# [(1, 'LiMing', 20), (2, 'XiaoHua', 30), (3, 'LiLei', 10), (4, 'LiBai', 99)]

使用预处理格式(占位符格式)

可以查看一下execute()方法的定义:

第1个参数是要执行的SQL语句,其中,参数位置先使用占位符来占位

第2个参数是一个tuple(元组),元素值就是SQL占位符对应的参数,注意只有一个参数的时候,要写成(xxx,),后面的逗号不要忘记。

第3个参数是一个bool值,表示第一个参数是不是多个SQL语句,如果是的话,就传入True,否则传入False。

使用实例

import mysql.connector

conn = mysql.connector.connect(

host='localhost',

user='root',

password='root',

database='test'

)

cmd = conn.cursor()

# 注意,在SQL中的占位符,统一写%s, 具体的类型,是在tuple中,传入的参数元素类型决定

cmd.execute("select * from stu where id=%s and name=%s", (1, 'LiMing'))

res = cmd.fetchall()

print(res)

# [(1, 'LiMing', 20)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值