54.python之连接数据库MySQL Connector

MySQL Connector是mysql官方的驱动模块,兼容性特别好
一些第三方模块对MySQL8.0的兼容性不是很好,可能连接不上最新版的MySQL

安装

方式一:
https://dev.mysql.com/downloads/connector/python/
在这里插入图片描述

下载好后双击安装

方式二:
下载第三方包

pip install mysql-connector

连接数据库

方式一:

import mysql.connector 

con = mysql.connector.connect( 
    # 数据地址
    host = "localhost", 
    # 端口
    port = "3306", 
    # 用户
    user = "root", 
    # 密码
    password= "123456", 
    # 数据库名称
    database= "qa" 
) 

方式二:

import mysql.connector 
config = { 
    "host" : "localhost" , 
    "port" : 3306, 
    "user" : "root" , 
    "password" : "123456" , 
    "database" : "qa" 
} 
con = mysql.connector.connect(**config)

执行SQL

MySQL Connector里面的游标用来执行SQL语句,而且查询的结果集也会保存在游标中

# 创建游标
cursor = con.cursor() 
# 执行SQL语句
cursor.execute( sql语句 )
# 打印结果
for  in cursor: 
    print()

例子:

import mysql.connector 

# 连接数据库
con = mysql.connector.connect( 
    host="localhost",
    port="3306",
    user="root",
    password="123456",
    database="qa"
)

# 创建游标
cursor = con.cursor()
sql = "select * from score;"
# 执行sql
cursor.execute(sql)
# 打印结果
for i in cursor:
    print(i)
    
# 关闭数据库连接
con.close()

结果:
在这里插入图片描述

拓展:

  • fetchone():取第一条数据,返回元组
  • fetchall():取全部数据,返回列表
  • fetchmany():取第一条数据,返回列表

例:

import mysql.connector 
config = {
    "host" : "localhost" ,
    "port" : 3306,
    "user" : "root" ,
    "password" : "123456" ,
    "database" : "qa"
}
con = mysql.connector.connect(**config)

cursor = con.cursor()
sql = "select * from score;"
cursor.execute(sql)

# 增删改要提交
con.commit()

# 取第一条数据,返回元组
# print(cursor.fetchone())

# 取第一条数据,返回列表
# print(cursor.fetchmany())

# 取全部数据,返回列表
print(cursor.fetchall())

# 关闭数据库连接
con.close()

结果:
在这里插入图片描述

事务控制

  • connector提供了非常简单的事务控制函数
# 开启事务
con.start_transaction( [ 事务隔离级别 ] ) 
# 提交事务
con.commit() 
# 回滚事务
con.rollback()

异常处理

# try中填写连接数据库的信息
try:
    con = mysql.connector.connect(……)
    [ con = start_transaction() ] 
    ……

# 若是发生异常,可以回滚事务,并打印错误信息
except Exception as e:
    [ con.rollback() ]
    print(e)

# 若是数据库连接正常,表示有con变量,判断有con变量,则最后关闭数据库
finally:
    if "con" in dir():
        con.close()

栗子:

import mysql.connector

try:
    # 连接数据库
    con = mysql.connector.connect(
        host = "localhost" ,
        port = 3306,
        user = "root" ,
        password = "123456" ,
        database = "qa"
    )

    # 开启事务
    con.start_transaction()
    # 创建游标
    cursor = con.cursor()
    # 使用预编译机制防止SQL注入
    sql = "insert into my_class(id,name,class) value (%s,%s,%s)"
    # 执行sql
    cursor.execute(sql,(2,'张三','A'))
    # 提交
    con.commit()

except Exception as e:
    # 如果数据库连接了,回滚事务
    # 这里有可能数据库没有连接成功,那么就没有con这个变量,所以这里要加个判断
    if 'con' in dir():
        # 回滚事务
        con.rollback()
    print(e)

finally:
    # 判断数据库连接(有con变量)才会需要关闭数据库
    if 'con' in dir():
        # 关闭数据库连接
        con.close()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 使用Python连接MySQL数据库的基本步骤如下: 1. 安装MySQL驱动程序:可以使用`pip`命令安装`mysql-connector-python`或`pymysql`等驱动程序。 2. 导入MySQL驱动程序:使用`import`语句导入MySQL驱动程序,例如: ```python import mysql.connector ``` 3. 建立数据库连接:使用`connect()`函数建立与MySQL数据库的连接,指定主机名、用户名、密码、数据库名称等参数。例如: ```python mydb = mysql.connector.connect( host="localhost", user="root", passwd="password", database="mydatabase" ) ``` 4. 执行SQL语句:使用`cursor()`方法创建游标对象,使用`execute()`方法执行SQL语句。例如: ```python mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") ``` 5. 获取查询结果:使用`fetchall()`方法获取查询结果。例如: ```python myresult = mycursor.fetchall() for x in myresult: print(x) ``` 6. 关闭数据库连接:使用`close()`方法关闭与MySQL数据库的连接。例如: ```python mydb.close() ``` ### 回答2: 使用Python连接MySQL数据库的基本步骤如下: 1. 导入所需模块:首先需要导入`mysql.connector`模块,它是Python连接MySQL数据库的官方模块。 2. 建立连接:使用`mysql.connector.connect()`函数连接到MySQL数据库,需要提供数据库主机地址、用户名、密码等连接参数。 3. 创建游标对象:使用连接对象的`cursor()`方法创建游标对象,用于执行MySQL语句。 4. 执行SQL语句:通过游标对象的`execute()`方法执行SQL语句,可以执行查询、插入、更新等各种操作。 5. 获取执行结果:通过游标对象的`fetchall()`、`fetchone()`等方法获取执行结果,可以获取所有结果或者一条结果。 6. 提交操作:如果执行了插入、更新等操作,需要调用连接对象的`commit()`方法提交操作,才能真正将数据写入数据库。 7. 关闭连接:使用连接对象的`close()`方法关闭连接,释放数据库资源。 下面是一个简单的例子: ``` import mysql.connector # 建立数据库连接 cnx = mysql.connector.connect( host='localhost', user='root', password='password', database='mydb') # 创建游标对象 cursor = cnx.cursor() # 执行查询语句 cursor.execute("SELECT * FROM mytable") # 获取查询结果 result = cursor.fetchall() # 打印查询结果 for row in result: print(row) # 关闭游标和连接 cursor.close() cnx.close() ``` 这是一个简单的连接MySQL数据库的过程,实际应用中根据具体需求可以进行更复杂的操作。 ### 回答3: 使用Python连接MySQL数据库的基本步骤包括以下几个步骤: 1. 安装MySQL驱动:首先需要在Python环境中安装MySQL驱动。常用的驱动有`mysql-connector-python`和`pymysql`,可以通过pip安装。 2. 导入相应模块:在Python程序中,需要导入MySQL驱动所对应的模块。如果使用`mysql-connector-python`,则导入`mysql.connector`;如果使用`pymysql`,则导入`pymysql`。 3. 建立数据库连接:使用连接参数,如主机名、用户名、密码和数据库名,来建立与MySQL数据库的连接。例如: ```python import mysql.connector cnx = mysql.connector.connect( host="localhost", user="root", password="password", database="mydatabase" ) ``` 4. 创建游标对象:通过数据库连接,创建一个游标对象。游标对象用于执行SQL语句并获取结果。例如: ```python cursor = cnx.cursor() ``` 5. 执行SQL语句:使用游标对象执行SQL语句,可以是查询、插入、更新或删除等操作。例如: ```python sql = "SELECT * FROM tablename" cursor.execute(sql) ``` 6. 处理结果:根据需要,可以通过游标对象获取查询结果、获取受影响的行数或获取插入后的自增ID等信息。例如: ```python result = cursor.fetchall() affected_rows = cursor.rowcount inserted_id = cursor.lastrowid ``` 7. 提交更改和关闭连接:如果有操作对数据库产生了更改,需要调用`commit()`方法提交更改。最后,使用`close()`方法关闭游标和数据库连接。例如: ```python cnx.commit() cursor.close() cnx.close() ``` 以上就是使用Python连接MySQL数据库的基本步骤。通过这些步骤,我们可以在Python程序中与MySQL数据库进行交互,执行各种数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值