python连接数据库语句怎么写

Python连接数据库常用库如sqlite3、pymysql,语句示例:conn=sqlite3.connect(‘db.sqlite’)

Python连接数据库的核心在于使用相应的数据库驱动库,并通过标准接口完成连接、操作与关闭,以下是常见数据库的连接方法与示例:

python连接数据库语句怎么写

SQLite数据库(Python内置支持)

适用场景:轻量级本地存储,无需安装数据库服务
驱动模块sqlite3(Python标准库内置)
连接语句

import sqlite3
# 连接数据库(自动创建文件)
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行SQL语句(如建表)
cursor.execute('''
    CREATE TABLE users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
# 提交事务并关闭连接
conn.commit()
conn.close()

特点

  • 文件型数据库,数据存储在.db文件中
  • 无需服务器配置,直接通过文件路径访问
  • 适合原型开发、测试或小型应用

MySQL数据库

适用场景:中型应用,需要网络访问的数据库服务
驱动模块PyMySQLmysql-connector-python
安装命令

pip install pymysql  # 或 pip install mysql-connector-python

连接语句(PyMySQL示例)

import pymysql
# 连接数据库
conn = pymysql.connect(
    host='localhost',      # 数据库地址
    user='root',           # 用户名
    password='123456',    # 密码
    database='test_db',    # 数据库名称
    charset='utf8mb4'      # 编码
)
# 创建游标并执行SQL
cursor = conn.cursor()
cursor.execute('SELECT VERSION()')  # 测试连接
print(cursor.fetchone())            # 输出MySQL版本
conn.close()

关键参数

python连接数据库语句怎么写

  • host:数据库服务器地址(如0.0.1localhost
  • port:默认端口为3306(需与数据库配置一致)
  • charset:建议设置为utf8mb4以支持表情符号等特殊字符

PostgreSQL数据库

适用场景:复杂业务场景,需要高扩展性
驱动模块psycopg2
安装命令

pip install psycopg2

连接语句

import psycopg2
# 连接数据库(DSN格式)
conn = psycopg2.connect(
    dsn="dbname='test_db' user='postgres' password='123456' host='localhost' port='5432'"
)
# 执行SQL并获取结果
cursor = conn.cursor()
cursor.execute('SELECT VERSION()')
print(cursor.fetchone())
conn.close()

特点

  • 默认端口为5432,支持复杂数据类型(如JSON、数组)
  • 需提前创建数据库和用户

MongoDB数据库(非关系型)

适用场景:文档型存储,高并发读写
驱动模块pymongo
安装命令

pip install pymongo

连接语句

python连接数据库语句怎么写

from pymongo import MongoClient
# 连接MongoDB(URI格式)
client = MongoClient('mongodb://localhost:27017/')
# 选择数据库和集合
db = client['test_db']
collection = db['users']
# 插入文档
doc = {'name': 'Alice', 'age': 25}
collection.insert_one(doc)
# 查询文档
for item in collection.find():
    print(item)

关键参数

  • URI中可包含用户名密码(如mongodb://user:pass@localhost:27017/
  • 默认端口为27017,无需预创建数据库

Redis数据库(键值存储)

适用场景:缓存、会话管理
驱动模块redis
安装命令

pip install redis

连接语句

import redis
# 连接Redis
r = redis.Redis(
    host='localhost',      # 地址
    port=6379,            # 默认端口
    password=None         # 若有密码需填写
)
# 设置键值对
r.set('key', 'value')
# 获取值
print(r.get('key'))       # 输出 b'value'

特点

  • 纯内存操作,高性能
  • 支持持久化(RDB/AOF)

主流数据库对比表

数据库类型 驱动/模块 默认端口 连接字符串示例 适用场景
SQLite sqlite3(内置) sqlite3.connect('example.db') 本地存储、测试
MySQL PyMySQL/mysql-connector 3306 pymysql.connect(host=...) 中小型Web应用、LAMP栈
PostgreSQL psycopg2 5432 postgresql://user:pass@host/db 复杂业务、高扩展性需求
MongoDB pymongo 27017 mongodb://user:pass@host:port 高并发、文档存储
Redis redis 6379 redis.Redis(host='localhost') 缓存、会话、消息队列

常见问题与解决方案(FAQs)

如何判断数据库连接是否成功?

  • 测试查询:执行简单SQL(如SELECT 1)或调用ping()方法(如Redis)。
  • 异常处理:用try-except捕获连接错误,
    try:
        conn = pymysql.connect(...)
        print("连接成功")
    except pymysql.Error as e:
        print(f"连接失败: {e}")

不同数据库的密码忘记怎么办?

  • MySQL:通过命令行重置(如ALTER USER 'root' IDENTIFIED BY 'new_pass';)或使用管理工具(如phpMyAdmin、SqlYog)重置。
  • PostgreSQL:修改pg_hba.conf文件后重启服务,或通过SQL语句ALTER USER postgres WITH PASSWORD 'new_pass';
  • MongoDB:进入admin数据库后执行db.changeUserPassword("user", "new_pass");
  • Redis:若未设置密码,可直接通过配置文件redis.conf添加requirepass

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/74041.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月23日 16:47
下一篇 2025年5月29日 04:19

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN