python数据分析——如何用python连接远程数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Python数据分析

本文将以SQLite、MySQL,PostgreSQL为例讲解python怎样连接远程数据库并执行相关数据库操作。

SQLite
image.png

SQLite可能是与Python连接的最方便的数据库,因为我们不需要安装任何外部Python SQL模块即可使用。默认情况下,Python会自带一个名为sqlite3的Python SQL库,我们可以使用该库与SQLite数据库进行交互。而且,我们甚至不需要安装和运行SQLite服务器即可执行数据库操作!

下面是使用sqlite3连接到SQLite数据库的方法,看代码就行 ,关键位置都给了注释

导入相关模块import sqlite3from sqlite3 import Errordef create_connection(path): connection = None try: #使用.connect()连接,并将SQLite数据库路径作为参数。如果数据库位于指定位置,则建立与数据库的连接。否则,将在指定位置创建一个新数据库,并建立连接。 connection = sqlite3.connect(path) print("成功连接") except Error as e: print(f"错误 '{e}' 发生") return connection

connect(path)返回一个连接对象,该对象由create_connection()返回。此连接对象可用于在SQLite数据库上执行查询。接下来执行下面的命令就可以连接到数据库

connection = create_connection("填写你的路径\filename.sqlite")
执行完毕后会在目录下面看到多了一个以.sqlite结尾的文件。

MySQL
image.png

与SQLite不同,没有默认的Python SQL模块可用于连接到MySQL数据库。相反,我们需要安装mysql-connector-python以便从Python应用程序中与MySQL数据库进行交互。

pip install mysql-connector-python
但是需要注意,MySQL是基于服务器的数据库管理系统。一台MySQL服务器可以有多个数据库。与SQLite不同,在SQLite中创建连接等同于创建数据库,MySQL数据库两步来创建数据库:首先与MySQL服务器建立连接,然后执行一个单独的查询来创建数据库。

import mysql.connectorfrom mysql.connector import Errordef create_connection(host_name, user_name, user_password): connection = None try: #创建连接 connection = mysql.connector.connect( host=host_name, user=user_name, passwd=user_password ) print("连接成功") except Error as e: print(f"错误 '{e}' 发生") return connectionconnection = create_connection("localhost", "root", "")

但是到目前为止,我们仅仅连接成功到mysql,并没有创建database,因此我们定义另一个create_database()接受两个参数的函数:connection是connection要与之交互的数据库服务器的对象。query 是创建数据库的查询。

def create_database(connection, query): cursor = connection.cursor() try: cursor.execute(query) print("Database created successfully") except Error as e: print(f"The error '{e}' occurred")

要执行查询,我们可以使用cursor对象。将query要执行传递给cursor.execute()

create_database_query = "CREATE DATABASE zaoqi" #创建databasecreate_database(connection, create_database_query)

至此,我们就已经在数据库服务器上创建了一个数据库。

PostgreSQL
image.png

与MySQL一样,没有默认的Python SQL库可用于与PostgreSQL数据库进行交互。因此需要安装第三方Python SQL驱动程序才能与PostgreSQL交互。那么我们选择的驱动程序是psycopg2。

pip install psycopg2
与SQLite和MySQL数据库一样,我们定义create_connection()与PostgreSQL数据库建立连接:

import psycopg2from psycopg2 import OperationalErrordef create_connection(db_name, db_user, db_password, db_host, db_port): connection = None try: connection = psycopg2.connect( database=db_name, user=db_user, password=db_password, host=db_host, port=db_port, ) print("Connection to PostgreSQL DB successful") except OperationalError as e: print(f"The error '{e}' occurred") return connection

接下来使用和mysql一样的办法创建一个database

def create_database(connection, query): connection.autocommit = True cursor = connection.cursor() try: cursor.execute(query) print("Query executed successfully") except OperationalError as e: print(f"The error '{e}' occurred")create_database_query = "CREATE DATABASE zaoqi"create_database(connection, create_database_query)

至此我们已经学会如何用python连接数据库并创建database,而其他的操作比如增删改查就可以类比得到。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
385 0
|
7天前
|
人工智能 数据挖掘 数据库
通义灵码产品演示: 数据库设计与数据分析
本演示展示如何使用通义灵码进行数据库设计与数据分析。通过SQLite构建电商订单表,利用AI生成表结构、插入样本数据,并完成多维度数据分析及可视化图表展示,体现AI在数据库操作中的高效能力。
|
25天前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
68 13
|
27天前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
409 11
|
8天前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
88 0
|
7月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
7月前
|
数据库连接 应用服务中间件 PHP
|
6月前
|
安全 Linux 网络安全
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。

推荐镜像

更多