Python DSN是连接数据库的必备协议,下面从多个角度对Python DSN进行详细讲解。
一、DSN概述
DSN(Data Source Name)是一种连接数据库的标准格式。在Python中,DSN通常用于连接各种数据库,如MySQL、Oracle、SQL server等。Python的DSN格式为:
database://user:password@host:port/database_name
其中:
database:数据库类型,如mysql、oracle、postgressql、sql server等
user:连接数据库的用户名
password:连接数据库的密码
host:数据库服务器地址
port:数据库端口号
database_name:数据库名称
二、连接MySQL数据库
连接MySQL数据库的步骤如下:
1、首先安装Python的mysql-connector驱动,安装方式如下:
pip install mysql-connector-python
2、然后使用以下代码进行连接:
import mysql.connector
cnx = mysql.connector.connect(user='username', password='password',host='localhost',database='database_name')
cursor = cnx.cursor()
query = ("SELECT * FROM table_name")
cursor.execute(query)
for row in cursor:
print(row)
cursor.close()
cnx.close()
需要注意的是,在以上代码中,username和password需要替换为对应的数据库用户名和密码,localhost为数据库服务器地址,database_name为数据库名称,table_name为需要查询的表名。
三、连接Oracle数据库
连接Oracle数据库的步骤如下:
1、首先安装Python的cx_Oracle驱动,安装方式如下:
pip install cx_Oracle
2、然后使用以下代码进行连接:
import cx_Oracle
conn = cx_Oracle.connect('username/password@server:port/database_name')
curs = conn.cursor()
query = ('SELECT * FROM table_name')
curs.execute(query)
for row in curs:
print(row)
curs.close()
conn.close()
需要注意的是,在以上代码中,username和password需要替换为对应的数据库用户名和密码,server为数据库服务器地址,port为数据库端口号,database_name为数据库名称,table_name为需要查询的表名。
四、连接SQL server数据库
连接SQL server数据库的步骤如下:
1、首先安装Python的pyodbc驱动,安装方式如下:
pip install pyodbc
2、然后使用以下代码进行连接:
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=database_name;UID=username;PWD=password')
cursor = cnxn.cursor()
query = ('SELECT * FROM table_name')
cursor.execute(query)
for row in cursor:
print(row)
cursor.close()
cnxn.close()
需要注意的是,在以上代码中,server_name为数据库服务器地址,database_name为数据库名称,username和password需要替换为对应的数据库用户名和密码,table_name为需要查询的表名。
五、连接PostgreSQL数据库
连接PostgreSQL数据库的步骤如下:
1、首先安装Python的psycopg2驱动,安装方式如下:
pip install psycopg2
2、然后使用以下代码进行连接:
import psycopg2
conn = psycopg2.connect(host="localhost",database="database_name", user="username", password="password")
cursor = conn.cursor()
query = ('SELECT * FROM table_name')
cursor.execute(query)
for row in cursor:
print(row)
cursor.close()
conn.close()
需要注意的是,在以上代码中,localhost为数据库服务器地址,database_name为数据库名称,username和password需要替换为对应的数据库用户名和密码,table_name为需要查询的表名。
