python 连接db
时间: 2023-07-11 09:44:56 浏览: 45
连接数据库可以使用 Python 中的标准库 `sqlite3`,也可以使用第三方的库如 `MySQLdb`、`psycopg2` 等,不同的数据库连接方式略有不同。以下以 `sqlite3` 为例:
```python
import sqlite3
# 连接数据库,如果数据库不存在则会自动创建
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行 SQL 语句
cursor.execute('SELECT * FROM my_table')
# 获取查询结果
result = cursor.fetchall()
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
在上述代码中,首先使用 `sqlite3.connect()` 方法连接数据库,如果数据库不存在则会自动创建。然后创建游标对象,通过游标对象执行 SQL 语句,并获取查询结果。最后关闭游标和数据库连接。
相关问题
python连接DB2数据库并查询
首先,需要安装 Python 的 DB2 驱动程序,可以使用 IBM 提供的 ibm_db 库。
安装 ibm_db 库:
```
pip install ibm_db
```
然后,连接 DB2 数据库并执行查询:
```python
import ibm_db
# 连接到 DB2 数据库
conn_str = "DATABASE=<database_name>;HOSTNAME=<hostname>;PORT=<port>;PROTOCOL=TCPIP;UID=<username>;PWD=<password>;"
conn = ibm_db.connect(conn_str, "", "")
# 准备 SQL 查询语句
sql = "SELECT * FROM <table_name>"
# 执行查询
stmt = ibm_db.exec_immediate(conn, sql)
# 获取查询结果
result = ibm_db.fetch_assoc(stmt)
while result != False:
print(result)
result = ibm_db.fetch_assoc(stmt)
# 关闭数据库连接
ibm_db.close(conn)
```
其中,需要将 `<database_name>`、`<hostname>`、`<port>`、`<username>`、`<password>`、`<table_name>` 替换为实际的值。
注意:使用 ibm_db 库需要在系统中安装 IBM Data Server Client 或 IBM Data Server Runtime Client。
python 连接db2可以连接两个schma吗
是的,Python 可以连接 DB2 数据库,并且可以连接多个 schema。你可以使用 `ibm_db` 或者 `pyodbc` 这样的库来实现连接。首先,你需要安装适当的库,然后使用以下示例代码来连接 DB2 数据库并连接两个 schema:
使用 `ibm_db` 库的示例代码:
```python
import ibm_db
# 连接到 DB2 数据库
conn = ibm_db.connect("DATABASE=db_name;HOSTNAME=host_name;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;", "", "")
# 切换到第一个 schema
stmt = ibm_db.exec_immediate(conn, "SET SCHEMA schema1")
# 执行第一个 schema 的查询
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM table1")
# 切换到第二个 schema
stmt = ibm_db.exec_immediate(conn, "SET SCHEMA schema2")
# 执行第二个 schema 的查询
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM table2")
# 关闭连接
ibm_db.close(conn)
```
使用 `pyodbc` 库的示例代码:
```python
import pyodbc
# 连接到 DB2 数据库
conn = pyodbc.connect("DRIVER={IBM DB2 ODBC DRIVER};DATABASE=db_name;HOSTNAME=host_name;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;")
# 创建游标对象
cursor = conn.cursor()
# 切换到第一个 schema
cursor.execute("SET SCHEMA schema1")
# 执行第一个 schema 的查询
cursor.execute("SELECT * FROM table1")
# 切换到第二个 schema
cursor.execute("SET SCHEMA schema2")
# 执行第二个 schema 的查询
cursor.execute("SELECT * FROM table2")
# 获取查询结果
results = cursor.fetchall()
# 关闭连接
cursor.close()
conn.close()
```
请根据你的具体情况修改连接字符串中的数据库名称、主机名、端口号、用户名和密码,并根据需要执行适当的查询语句。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)