在Ubuntu中设置Python连接数据库通常包括以下几个步骤:
安装数据库服务器:
sudo apt update
sudo apt install mysql-server
sudo apt update
sudo apt install postgresql postgresql-contrib
安装Python数据库驱动:
pip install mysql-connector-python
或pip install PyMySQL
pip install psycopg2
配置数据库服务器:
sudo mysql -u root -p
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
编写Python代码连接数据库:
import mysql.connector
try:
connection = mysql.connector.connect(
host="localhost",
user="myuser",
password="mypassword",
database="mydatabase"
)
if connection.is_connected():
print("成功连接到数据库")
except mysql.connector.Error as e:
print(f"连接失败:{e}")
finally:
if connection.is_connected():
connection.close()
print("MySQL连接已关闭")
import psycopg2
try:
connection = psycopg2.connect(
dbname="mydatabase",
user="myuser",
password="mypassword",
host="localhost"
)
cursor = connection.cursor()
cursor.execute("SELECT version();")
db_version = cursor.fetchone()
print(f"Connected to PostgreSQL version: {db_version}")
except psycopg2.Error as e:
print(f"Unable to connect to the database: {e}")
finally:
if connection:
cursor.close()
connection.close()
print("PostgreSQL连接已关闭")
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
conn.commit()
cursor.execute("INSERT INTO stocks VALUES ('2023-01-01', 'BUY', 'TSLA', 100, 192.99)")
conn.commit()
cursor.execute("SELECT * FROM stocks")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
```。
运行Python脚本:
python3 db_connection.py
```。
确保在实际部署之前,数据库是可访问的,并且防火墙设置允许从应用程序所在的机器进行连接。。