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为需要查询的表名。