python数据分析——如何用python连接远程数据库
2021-01-21 21:27
627 查看
本文将以SQLite、MySQL,PostgreSQL为例讲解python怎样连接远程数据库并执行相关数据库操作。
SQLite
SQLite可能是与Python连接的最方便的数据库,因为我们不需要安装任何外部Python SQL模块即可使用。默认情况下,Python会自带一个名为
sqlite3的Python SQL库,我们可以使用该库与SQLite数据库进行交互。而且,我们甚至不需要安装和运行SQLite服务器即可执行数据库操作!
下面是使用
sqlite3连接到SQLite数据库的方法,看代码就行 ,关键位置都给了注释
#导入相关模块
import sqlite3
from sqlite3 import Error
def 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
与SQLite不同,没有默认的Python SQL模块可用于连接到MySQL数据库。相反,我们需要安装mysql-connector-python以便从Python应用程序中与MySQL数据库进行交互。
但是需要注意,MySQL是基于服务器的数据库管理系统。一台MySQL服务器可以有多个数据库。与SQLite不同,在SQLite中创建连接等同于创建数据库,MySQL数据库两步来创建数据库:首先与MySQL服务器建立连接,然后执行一个单独的查询来创建数据库。
pip install mysql-connector-python
import mysql.connector但是到目前为止,我们仅仅连接成功到mysql,并没有创建database,因此我们定义另一个create_database()接受两个参数的函数:connection是connection要与之交互的数据库服务器的对象。query 是创建数据库的查询。
from mysql.connector import Error
def 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 connection
connection = create_connection("localhost", "root", "")
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" #创建database
create_database(connection, create_database_query)
至此,我们就已经在数据库服务器上创建了一个数据库。
PostgreSQL
与MySQL一样,没有默认的Python SQL库可用于与PostgreSQL数据库进行交互。因此需要安装第三方Python SQL驱动程序才能与PostgreSQL交互。纳闷我们选择的驱动程序是psycopg2。pip install psycopg2
与SQLite和MySQL数据库一样,我们定义create_connection()与PostgreSQL数据库建立连接:
import psycopg2
from psycopg2 import OperationalError
def 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,而其他的操作比如增删改查就可以类比得到。
相关文章推荐
- (python)Pandas数据统计分析、连接数据库操作、DataFrame操作
- 如何解决python连接数据库编码问题(python传数据到mysql乱码)'ascii' codec can't encode _mysql_exceptions.OperationalError: (1366, "Incorrect string value:?
- Python数据分析:数据库多表连接(SQLite)
- 如何配置 SQL Server 2005 以允许远程连接 然后连接数据库
- 如何从本地(远程)数据库导入数据到Godaddy MSSQL数据库
- 2017-05-23 DBA日记,使用python巧妙分析listener的log.xml,为连接泄漏提供数据支持
- SQL Server 2008 R2如何开启数据库的远程连接
- python连接数据库并插入数据
- 利用python做数据分析中如何理解列表,列表推导式
- PL/SQL Developer 如何连接远程 Oracle 数据库
- SQL Server 2008 R2如何开启数据库的远程连接
- python连接中控考勤机分析数据
- 如何用Python进行大数据挖掘和分析
- Ubuntu下Python使用MySQLdb远程连接数据库的常见问题及解决方案
- [译] Twitter数据挖掘:如何使用Python分析大数据
- 【量化小讲堂-Python&Pandas系列01】如何快速上手使用Python进行金融数据分析
- Sqlserver 在查询分析器里如何访问远程的的数据库,进行数据查询更新等操作。
- JVM运行情况分析-如何开启远程JConsole连接
- 《网络爬虫-Python和数据分析》数据库建库建表问题
- [orcle]远程连接数据库错误分析