Python中使用Mysql

本文详细介绍如何使用Python的pymysql模块连接和操作MySQL数据库,包括安装模块、建立连接、执行SQL语句及结果处理等核心步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装mysql模块:pip3 install pymysql

2.文件中引入模块:import pymysql

3.Connection对象:目的:用来建立与数据库的连接

                                创建:调用connect()方法,如conn=connect(参数列表)

                                参数列表的参数:host:连接的mysql主机,若为本机则是‘localhost’,否则写目标主机的ip;

                                                             port:连接的mysql主机的端口,默认为3306;

                                                             db:数据库的名称;

                                                             user:连接的用户名:

                                                             passwd:连接的密码;

                                                             charset:采用的编码方式,一般用utf8;

                                方法:close():关闭连接;

                                          commit():提交事务;(在py程序中默认是打开事务的,因此所有的数据库操作都需要commit才会生效)

                                          rollback():回滚事务;

                                          cursor():返回一个Cursor对象,该对象中有方法用来执行sql语句并获得结果;

4.Cursor对象:目的:来执行sql语句;

                         创建:调用Connection对象的cursor()方法;

                         方法:close()关闭;

                                    execute(operation[,parameters])执行语句,返回受影响的行数;

                                    fetchone()执行查询语句时,获取查询结果集的第一行数据,返回一个元祖;

                                    next()执行查询语句时,获取当前行的下一行;

                                    fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回;

                                    scroll(value[,mode])将指针移动到某个位置:mode表示移动方式,默认为relative,基于当前行移动到value,value为正则向下移动,为负则向上移动;mode值为absolute,表示基于第一条数据的位置,第一条数据的位置为0;

                          属性:rowcount为只读属性,表示最近一次execute()执行后受影响的行数;

                                   connection获得当前连接对象;

例如:

from pymysql import *

try:  
#创建连接对象                conn=connect(host="localhost",port=3306,db='test0',user='root',passwd='mysql',charset='utf8')
#创建cursor对象
    cs1=conn.cursor()
    sname=input("请输入姓名:")
    params=[sname]
#  这里使用参数传递的方式,实际上sql操作语句也可以使用变量再当做参数传入
#  %s并不代表字符格式,只表示占位,无论后面参数是什么类型都使用%s
    count=cs1.execute('insert into students(sname) values(%s)',params)
#提交改动
    conn.commit()
#关闭
    cs1.close()
    conn.close()
except Exception,e:
    print e



但一般建议项目开始时就建立好数据库表结构,而不是在代码中进行;此外,可以将数据库的基本操作进行封装,使用类对象,更集中于业务逻辑的构造。  

例如:

from pymysql import *

class MysqlHelper(object):   def__init__(self,host='localhost',port=3306,db='test2',user='root',passwd='mysql',charset='utf8'):
        self.conn=connect(host=host,port=port,db=db,user=user,passwd=passwd,charset=charset)

    def insert(self,sql,params):
        return self.__cud(sql,params)

    def update(self,sql,params):
        return self.__cud(sql,params)

    def delete(self,sql,params):
        return self.__cud(sql,params)

    def __cud(self,sql,params=[]):
        try:
            cs1 = self.conn.cursor()
            rows=cs1.execute(sql, params)
            self.conn.commit()
            cs1.close()
            self.conn.close()
            return rows
        except Exception,e:
            print e
            self.conn.rollback()

    def fetchone(self,sql,params=[]):
        try:
            cs1=self.conn.cursor()
            cs1.execute(sql,params)
            row=cs1.fetchone()
            cs1.close()
            self.conn.close()
            return row
        except Exception,e:
            print e

    def fetchall(self,sql,params):
        try:
            cs1=self.conn.cursor()
            cs1.execute(sql,params)
            rows=cs1.fetchall()
            cs1.close()
            self.conn.close()
            return rows
        except Exception,e:
            print e

 

   

 

                                    

                                     

 

 

 

 

 

### 回答1: 下面是在 Python使用 MySQL 的简单示例: 首先,你需要安装 MySQL 驱动程序,可以使用如下命令安装: ``` pip install mysql-connector-python ``` 接下来,你可以在 Python 代码中连接到 MySQL 数据库: ``` import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="yourdatabase" ) mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") myresult = mycursor.fetchall() for x in myresult: print(x) ``` 上面的代码将连接到本地主机上的 MySQL 数据库,并从 customers 表中选取所有数据。 ### 回答2: 在Python使用MySQL实例可以通过使用PyMySQLmysql-connector-python等第三方库实现。下面是使用PyMySQL库的一个简单示例: 首先,需要安装PyMySQL库。可以通过在命令行中运行以下命令进行安装: ``` pip install PyMySQL ``` 然后,在Python脚本中导入PyMySQL库: ```python import pymysql ``` 接下来,需要建立与MySQL数据库的连接。可以使用`connect()`函数来建立连接,并传入数据库的主机名、用户名、密码、数据库名等参数: ```python conn = pymysql.connect(host='localhost', user='root', password='password', database='database_name') ``` 如果连接成功,可以创建游标对象来执行SQL语句: ```python cursor = conn.cursor() ``` 现在可以执行各种SQL语句了。以下是一些示例: 1. 执行查询语句: ```python sql = "SELECT * FROM table_name" cursor.execute(sql) result = cursor.fetchall() for row in result: print(row) ``` 2. 执行插入语句: ```python sql = "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')" cursor.execute(sql) conn.commit() ``` 3. 执行更新语句: ```python sql = "UPDATE table_name SET column1 = 'new_value' WHERE condition" cursor.execute(sql) conn.commit() ``` 最后,记得在使用完之后关闭游标和连接: ```python cursor.close() conn.close() ``` 这是一个简单的Python使用MySQL的示例,你可以根据具体的需求进行适当的修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值