Python操作MySQL数据库实战指南

"这个Python脚本展示了如何与MySQL数据库进行基本操作,包括连接数据库、执行SQL语句(创建数据库、创建表、插入数据以及查询数据)以及关闭连接。"
在Python编程中,与MySQL数据库进行交互通常需要使用第三方库,如`MySQLdb`。以下是对提供的Python脚本中涉及的关键知识点的详细解释:
1. 导入MySQLdb模块:
`import MySQLdb` 这行代码导入了Python的MySQL数据库连接库,使得我们可以使用Python来操作MySQL数据库。
2. 建立数据库连接:
```python
conn = MySQLdb.connect(host='localhost', user='root', passwd='admin')
```
这里创建了一个到本地MySQL服务器的连接,使用用户名`root`和密码`admin`。`host`参数指定了数据库服务器的位置,通常是`localhost`表示本地主机。
3. 创建游标对象:
```python
cursor = conn.cursor()
```
游标是用于在数据库上执行SQL命令的对象,它允许我们执行查询并获取结果。
4. 执行SQL语句:
- 创建数据库:
```python
cursor.execute('create database if not exists python')
```
这行代码执行了一个SQL命令,如果`python`数据库不存在,就创建它。
- 选择数据库:
```python
conn.select_db('python')
```
使用`select_db()`方法切换到名为`python`的数据库。
- 创建数据表:
```python
cursor.execute('create table test(id int, info varchar(100))')
```
这个SQL命令创建了一个名为`test`的表,包含两列:`id`(整数类型)和`info`(最大长度为100的字符串类型)。
- 插入数据:
- 单条插入:
```python
cursor.execute('insert into test values (%s, %s)', value)
```
使用占位符`%s`和提供的`value`列表插入一条记录。
- 批量插入:
```python
cursor.executemany('insert into test values (%s, %s)', values)
```
`executemany()`方法用于执行多次相同的SQL插入语句,但每次使用不同的参数值。
5. 查询数据:
- 获取记录数量:
```python
count = cursor.execute('select * from test')
print("总共有{}条记录".format(count))
```
`execute()`方法执行SQL查询,并返回受影响的行数。这里是查询表中的所有记录。
- 获取单条记录:
```python
result = cursor.fetchone()
print(result)
```
`fetchone()`方法返回结果集中下一条记录,如果没有更多记录,则返回`None`。
- 获取多条记录:
- 获取5条记录:
```python
results = cursor.fetchmany(5)
for r in results:
print(r)
```
`fetchmany(size)`方法返回指定数量的记录,这里返回了5条。
- 获取所有剩余记录:
```python
results = cursor.fetchall()
```
`fetchall()`方法返回所有剩余的记录。
6. 关闭连接:
```python
conn.close()
```
最后,使用`close()`方法关闭与数据库的连接,释放资源。
这个脚本是学习Python数据库操作的一个基础示例,涵盖了连接、创建、查询和关闭数据库的基本操作。对于初学者来说,理解这些概念是进一步探索更复杂数据库操作的基础。
相关推荐


274 浏览量





Helenlhy
- 粉丝: 0
最新资源
- 2008年股市全回顾:股票表现分析及经验教训
- ASP.NET权限管理框架:支持多数据库系统
- React翻转计数器:升级至v1版本的使用指南
- PC端GPS信息测试工具:串口监控与信号分析
- NixOS配置管理:打造个性化点文件
- Java中四种XML解析技术的实现与比较
- React Native电影票预订应用开发教程
- 2829射频芯片配置软件:简易串口上位机工具
- ActionScript 3.0 面向对象编程实战教程
- STM32-F0/F1/F2单片机TCP服务开发指南
- Web Form转JSON字符串的实现与示例应用
- 数据分析项目:使用Jupyter Notebook和Python对学区进行评估
- 实现ListView与Gallery嵌套展示图片新方法
- GitHub Action: 自动检测仓库文件变更
- OpenGL运行时必备DLL文件集合与C++开发参考
- Flash MX 2004压缩包介绍与应用