python使用mysql
### Python 使用 MySQL 相关知识点 #### 一、Python与MySQL的基本交互流程 在Python中使用MySQL主要涉及以下几个步骤: 1. **导入模块**:首先需要导入`pymysql`模块,该模块允许Python程序与MySQL数据库进行交互。 2. **建立连接**:通过`pymysql.connect()`方法建立与MySQL数据库的连接。 3. **创建游标**:使用`conn.cursor()`创建游标对象,用于执行SQL语句。 4. **编写SQL语句**:根据需求编写相应的SQL语句。 5. **执行SQL语句**:通过游标对象的`execute()`方法执行SQL语句。 6. **处理结果**:根据查询或更新的需求处理执行结果(例如:获取查询结果或提交事务)。 7. **关闭连接**:使用`cursor.close()`关闭游标,并使用`conn.close()`关闭数据库连接。 #### 二、基本操作示例详解 ##### 1. 连接和查询 - **连接数据库**:示例中使用了以下参数建立连接: - `host='localhost'`:指定数据库服务器地址,此处为本地。 - `user='root'`:指定数据库登录用户名。 - `password='12345678'`:指定数据库登录密码。 - `db='mycommodity'`:指定使用的数据库名称。 - `charset="utf8"`:指定字符编码。 - **创建游标**:使用`conn.cursor()`创建游标对象,后续的SQL语句将通过此游标执行。 - **执行SQL查询**:示例中的SQL语句为`select * from commodity`,用于获取`commodity`表中的所有记录。 - **处理查询结果**: - `cursor.fetchone()`:获取一条查询结果。 - `cursor.fetchmany(size)`:获取指定数量的查询结果,其中`size`指定获取的数量。 - `cursor.fetchall()`:获取所有查询结果。 - **关闭连接**:使用`cursor.close()`关闭游标,使用`conn.close()`关闭数据库连接。 ##### 2. 连接和插入 - **连接数据库**:与查询部分相同。 - **执行SQL插入**:示例中的SQL语句为`INSERT INTO `commodity` VALUES(null,'电脑桌','北京','6','100','200','200')`,用于向`commodity`表中插入一条新记录。 - **提交更改**:在执行插入操作后,必须调用`conn.commit()`来提交更改,否则更改不会保存到数据库中。 - **关闭连接**:与查询部分相同。 ##### 3. 封装成函数插入 - **定义连接函数**:`getCon(db_name)`函数用于建立与指定数据库的连接。 - **定义插入数据函数**:`insertData(db_name, table_name, data)`函数用于向指定表中插入数据。 - `data`参数应为一个元组,包含待插入的数据。 - 函数内部会构建动态SQL语句,并执行插入操作。 - **示例**:`insertData('mycommodity', 'commodity', str(data1))`,其中`data1`为待插入的数据元组。 ##### 4. 封装成函数修改 - **定义连接函数**:与插入数据相同。 - **定义修改数据函数**:`updateData(db_name, table_name, condition, new_values)`函数用于更新表中满足条件的记录。 - `condition`参数表示更新条件。 - `new_values`参数表示新的值。 - **示例**:由于示例代码未完整给出,可以参考插入数据函数的实现方式,构建动态SQL语句并执行。 #### 三、总结 通过上述示例可以看出,在Python中使用MySQL进行数据库操作是非常灵活的。无论是基本的查询还是复杂的增删改查操作,都可以通过构建合适的SQL语句并利用`pymysql`模块提供的接口来实现。为了提高代码的可维护性和重用性,可以考虑将常用的操作封装成函数,如连接数据库、插入数据、更新数据等。这样的设计不仅可以简化代码逻辑,还可以提高开发效率。