python连接MySQL

本文介绍了在Windows系统中,使用PyCharm集成开发环境,通过pymysql库连接MySQL数据库的过程。包括安装pymysql、建立数据库连接、创建游标以及执行SQL查询和描述命令。示例代码展示了如何从test1表中获取和打印数据。

Windows系统下的pycharm

1.首先确定安装了pymysql这个包,我看菜鸟教程用的mysql-connector,我用了会出现上面所说的问题,没去解决,所有试了pymysql这个包,发现可以。

 

 我的就是这个问题,没有去尝试怎么解决。

2.在pycharm中调用了pymysql,可以用。

import pymysql

3.连接到数据库

mydb = pymysql.connect(
    host="localhost",  # 数据库主机地址
    user="root",  # 数据库用户名
    passwd="yourpasswd", # 数据库密码
    db='world',   
        port=3306,
        charset='utf8',
    )

db意思是连接到world这个数据库

 4.在python里面创建游标,接收MySQL里面的语法,进入test1这个表,得到表里面的数据,并显示出来。

cur = mydb.cursor()
cur2 = mydb.cursor()

cur.execute('SELECT * FROM test1')
cur2.execute('desc test1')

result = cur.fetchall()
result2 = cur2.fetchall()

print(result)
print(result2)

源码如下:

import pymysql

mydb = pymysql.connect(
    host="localhost",  # 数据库主机地址
    user="root",  # 数据库用户名
    passwd="wk13305653731", # 数据库密码
    db='world',
        port=3306,
        charset='utf8',
    )
cur = mydb.cursor()
cur2 = mydb.cursor()

cur.execute('SELECT * FROM test1')
cur2.execute('desc test1')

result = cur.fetchall()
result2 = cur2.fetchall()

print(result)
print(result2)

Python连接 MySQL 数据库,通常可以使用多种库,例如 `mysql-connector-python`、`PyMySQL` 或 `MySQLdb`。以下是几种常见方式的示例代码: ### 使用 mysql-connector-python 连接 MySQL 这是官方推荐的连接器之一,支持现代 Python 版本,并且功能完整。 ```python import mysql.connector try: # 建立数据库连接 connection = mysql.connector.connect( host='localhost', user='yourusername', password='yourpassword', database='mydatabase' ) if connection.is_connected(): print('成功连接数据库') cursor = connection.cursor() # 可以在这里执行 SQL 查询 cursor.execute("SELECT VERSION()") db_version = cursor.fetchone() print(f"Database version: {db_version}") except Exception as e: print(f"连接数据库时出错: {e}") finally: if 'connection' in locals() and connection.is_connected(): cursor.close() connection.close() print('数据库连接已关闭') ``` ### 使用 PyMySQL 连接 MySQL `PyMySQL` 是一个纯 Python 实现的 MySQL 客户端库,广泛用于 Django 和其他框架中。 ```python import pymysql try: # 建立数据库连接 connection = pymysql.connect( host='localhost', user='root', password='password', database='mydatabase' ) print('成功连接数据库') with connection.cursor() as cursor: # 执行 SQL 查询 cursor.execute("SELECT VERSION()") result = cursor.fetchone() print(f"Database version: {result}") except pymysql.err.OperationalError as e: print(f"连接数据库时出错: {e}") finally: if 'connection' in locals(): connection.close() print('数据库连接已关闭') ``` ### 使用 MySQLdb 连接 MySQL `MySQLdb` 是一个较老的库,仅支持 Python 2.x 和部分 Python 3.x 环境(通常为 Linux 系统)。 ```bash # 安装命令(适用于 Debian/Ubuntu) sudo apt-get install python-mysqldb ``` ```python import MySQLdb try: # 建立数据库连接 connection = MySQLdb.connect( host='localhost', user='root', passwd='password', db='mydatabase' ) print('成功连接数据库') cursor = connection.cursor() cursor.execute("SELECT VERSION()") result = cursor.fetchone() print(f"Database version: {result}") except Exception as e: print(f"连接数据库时出错: {e}") finally: if 'connection' in locals(): connection.close() print('数据库连接已关闭') ``` ### 常见问题与解决方法 1. **无法连接MySQL 服务器** - 检查 MySQL 服务是否运行。 - 验证防火墙设置是否允许访问 MySQL 端口(默认为 3306)。 - 如果是远程连接,请确认 MySQL 用户权限配置允许从当前 IP 地址访问。 - 查看是否使用了错误的主机名或 IP 地址,如 `localhost` 应替换为实际 IP 地址以进行远程连接 [^3]。 2. **数据库连接超时** - 增加连接超时时间。 - 检查网络延迟或 SSH 隧道设置(如果使用了 SSH 转发) [^4]。 3. **认证失败** - 确认用户名和密码正确。 - 确保用户拥有连接权限和目标数据库的访问权限。 ### 示例:创建数据表 以下是一个在连接成功后创建名为 `users` 的数据表的示例: ```python cursor.execute(""" CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT ) """) print("数据表已创建") ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值