利用python在数据库中获取表的列值的方法

本文介绍如何使用Python进行数据库复杂查询,重点讲解了从数据库表中获取各列列值的技巧,通过定义output函数来美化输出结果,使其既美观又便于后续处理。

在实现了利用python在数据库中进行增删改查等基本操作之后,更重要的是在数据库中进行复杂的查询。本文介绍了利用python获取各列列值的方法。文中的代码只是关键部分截取,完整增删改查操作请见链接:https://blog.youkuaiyun.com/FoggyProgrammer/article/details/104108678
对于表INFO
在这里插入图片描述
在Spyder中查询表中所有信息

sqlQuery = "select * from INFO" #查    
        
try:
   cursor.execute(sqlQuery)
   results = cursor.fetchall()
   print(results)
except:
   print(results)
conn.close()

查询结果如图:
在这里插入图片描述
对于这个结果,首先输出结果results中带有许多如“”,()的符号,美观性较差;其次,()中的各个列值以一个整体的形式呈现,使用不灵活、不方便

获取各列列值的方法

def output(array):
    for i in range(len(array)):
        for j in range(len(array[0])):
            print(array[i][j],end='')
            print('   ',end='')
        print(' ')

output函数的功能是获取特定列的列值,注意,与之前的输出相比,此时输出的列值是相对独立的
可以将fetchall()得到的results看作一个二维数组,len(array)实质上是符合条件的元组的个数(4),len(array[0])为这个元组中的列值的个数(3)
由于python的print()语句默认输出一个空格,因此print(array[i][j],end=’’)加上end=,就可以每输出三个列值再进行一次换行,使结果更美观
输出结果如图所示,为四行三列
在这里插入图片描述

附:表的构成要素

在这里插入图片描述

图源: 数据库系统基础讲义第04讲关系模型之关系代数 哈尔滨工业大学 战德臣

### Python 连接 MySQL 数据库教程 在 Python 中,可以通过多种方式连接到 MySQL 数据库并执行操作。以下是基于 `mysql-connector-python` 和 `PyMySQL` 的两种实现方法。 #### 使用 mysql-connector-python 连接到 MySQL 并执行查询 这是由 MySQL 官方支持的驱动程序之一,提供了简单易用的功能来管理数据库交互[^1]。 ```python import mysql.connector from mysql.connector import Error try: # 建立与 MySQL 数据库的连接 connection = mysql.connector.connect( host='localhost', database='your_database_name', # 替换为实际数据库名称 user='root', password='your_password' # 替换为实际密码 ) if connection.is_connected(): db_info = connection.get_server_info() print(f"Connected to MySQL Server version {db_info}") # 创建游标对象用于执行 SQL 查询 cursor = connection.cursor() cursor.execute("SELECT DATABASE();") # 获取当前使用的数据库名 record = cursor.fetchone() print(f"You're connected to the database: {record}") except Error as e: print(f"Error while connecting to MySQL: {e}") finally: if (connection.is_connected()): cursor.close() connection.close() print("MySQL connection is closed.") ``` 上述代码展示了如何通过 `mysql-connector-python` 库建立连接、获取服务器版本以及关闭连接的过程。 --- #### 使用 PyMySQL 实现相同功能 另一种常用的方式是利用第三方库 `PyMySQL` 来完成同样的任务。下面是一个完整的例子: ```python import pymysql.cursors # 设置数据库参数 host = 'localhost' port = 3306 user = 'root' passwd = 'your_passwd' # 替换为您的真实密码 database = 'your_database_name' # 替换为您的目标数据库名字 try: # 配置连接选项 connect = pymysql.connect( host=host, port=port, user=user, passwd=passwd, db=database, charset='utf8mb4') # 字符集设置 with connect.cursor() as cursor: # 执行一条简单的 SQL 查询命令 sql_query = "SHOW TABLES;" cursor.execute(sql_query) result = cursor.fetchall() # 输出所有的名字 for table in result: print(table) finally: # 确保最后总是关闭连接 connect.close() ``` 此段脚本说明了怎样借助 `pymysql` 模块创建链接实例,并展示现有[^2]。 --- #### 总结 无论是选用官方推荐的 `mysql-connector-python` 或者社区广泛采用的 `PyMySQL` ,都可以轻松达成从 Python 脚本访问 MySQL 数据库的目的。两者各有优劣,在具体项目开发过程中可以根据需求灵活选取合适的工具包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值