新闻中心

python怎么创建数据库

2025-12-14
浏览次数:
返回列表
Python不直接创建数据库,而是通过驱动操作数据库系统;SQLite用connect()自动创建文件型数据库,MySQL/PostgreSQL需先运行服务再发指令建库,SQLAlchemy则通过ORM方式统一管理建库建表。

python怎么创建数据库

Python 本身不直接“创建数据库”,而是通过数据库驱动(如 sqlite3pymysqlpsycopg2 等)连接并操作数据库系统。最简单、无需额外安装服务的方式是使用 Python 自带的 SQLite —— 它把整个数据库存为一个文件,调用时自动创建。

用 sqlite3 创建数据库文件(最常用)

SQLite 是轻量级嵌入式数据库,适合本地开发、小项目或学习。只要导入 sqlite3 模块,调用 connect(),指定一个尚不存在的文件路径,就会自动创建该数据库文件。

  • 代码示例:
import sqlite3
<h1>连接(若 test.db 不存在,则自动创建)</h1><p>conn = sqlite3.connect('test.db')</p><h1>可选:创建一张表,验证数据库已就绪</h1><p>cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
conn.commit()
conn.close()

执行后,当前目录下会出现 test.db 文件——这就是你的数据库。不需要启动任何服务,开箱即用。

连接 MySQL 或 PostgreSQL(需先装服务和驱动)

这类数据库需要你已安装并运行 MySQL 或 PostgreSQL 服务,再用 Python 驱动连接。它们不“创建文件”,而是向数据库服务器发送指令,由服务器在内部创建数据库(schema)。

  • MySQL 示例(需先 pip install pymysql):
import pymysql
<h1>先连到 MySQL 服务器(不指定具体库)</h1><p>conn = pymysql.connect(
host='localhost',
user='root',
password='your_password',
charset='utf8mb4'
)</p><p>cursor = conn.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS myapp_db")
conn.close()
  • PostgreSQL 示例(需先 pip install psycopg2-binary):
import psycopg2
<p>conn = psycopg2.connect(
host='localhost',
user='postgres',
password='your_password',
database='postgres'  # 必须连到默认库(如 postgres)才能建新库
)
conn.autocommit = True  # 建库语句不能在事务中,需开启自动提交
cursor = conn.cursor()
cursor.execute("CREATE DATABASE myapp_db")
conn.close()

用 SQLAlchemy(ORM 方式,更规范)

如果你希望用面向对象方式管理数据库,推荐 SQLAlchemy。它支持多种数据库,建库逻辑类似上面,但更侧重“模型定义 + 表创建”。

极限网络办公Office Automation 极限网络办公Office Automation

专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬

极限网络办公Office Automation 0 查看详情 极限网络办公Office Automation
  • SQLite(自动建库+建表):
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
<p>Base = declarative_base()</p><p>class User(Base):
<strong>tablename</strong> = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)</p><h1>创建引擎(test.db 不存在则自动创建)</h1><p>engine = create_engine('sqlite:///test.db', echo=True)</p><h1>创建所有表(对应 Base 的子类)</h1><p>Base.metadata.create_all(engine)

这会生成 test.db 并建好 users 表,结构清晰,适合中大型项目。

基本上就这些。SQLite 适合起步,MySQL/PG 适合生产,SQLAlchemy 适合想写得更稳更可维护的人。选哪个,看你的场景和需求。

以上就是python怎么创建数据库的详细内容,更多请关注其它相关文章!


# word  # 就会  # 特殊字符  # 数据库文件  # 的人  # 不直接  # 转换为  # 不存在  # 面向对象  # session  # app  # python  # mysql  # 为例  # 配音网站抖音怎么做推广  # 辉县建筑网站建设  # 湖南seo招商加盟公司  # 宜昌营销推广怎么找  # 平舆营销推广招聘网  # 朔州seo优化需求  # 360网站推广怎么操作  # 中国推特搜索关键词排名  # seo本地排名  # 西藏培训网站建设  # 如果你 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 响应式容器内容自动缩放与宽高比维持教程  FullCalendar 自定义按钮样式定制指南  谷歌google账号注册详细步骤 谷歌账号注册官方教程  微信网页版扫码登录入口 微信网页版二维码登录入口  抖音创作助手登录入口_抖音创作辅助工具官网直达  邮政快递包裹最新位置 邮政快递实时追踪入口  如何在 Excel Online 和 Google 表格中更改日期格式  J*aScript教程:根据元素文本内容动态设置背景色  React中useState与局部变量:理解组件状态管理与渲染机制  小米14应用无法联网原因分析_小米14网络权限修复  Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明  C#中解析不规范的HTML为XML 常见的坑与解决办法  AO3最新可访问网址 Archive of Our Own官方在线入口  优化Django表单:提交验证失败后保留用户输入  Linux如何排查内存不足OOME问题_LinuxOOM分析教程  css绝对定位元素脱离父容器怎么办_确保父元素position非static  Vue.js 图片显示异常排查:理解应用挂载范围与DOM ID唯一性  Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置  正确连接J*aScript到HTML实现可点击图片与自定义事件处理  Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】  Golang如何使用context实现超时取消_Golang context超时取消模式实践  Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组  React列表渲染与独立状态管理:避免全局状态影响局部更新  Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突  Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】  漫蛙manwa官网登录界面_漫蛙漫画网页版主站入口  印象笔记如何设提醒任务防漏执行_印象笔记设提醒任务防漏执行【任务提醒】  Go语言中动态执行代码字符串的策略与实践  windows10怎么查看本机ip_windows10命令提示符ipconfig使用  解决Tabulator日期时间排序问题的专业指南  2026春节假期时间安排 2026春节假日查询  如何在Python中使用Optional类型处理可变对象并避免Pylint警告  微信网页版官方入口直达 微信网页版网页版登录使用方法  Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】  Go语言中高效处理x-www-form-urlencoded表单数据  如何在Promise链中优雅地中断后续then执行  支付宝如何管理隐私设置_支付宝隐私保护的配置技巧  J*aScript中管理异步API调用:确保操作顺序与数据一致性  2026年CSGO开箱网站推荐 CSGO开箱平台精选  实现分段式页面滚动导航:CSS与J*aScript教程  mysql如何设置表访问权限_mysql表访问权限配置  vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法  Python实时数据流中的动态最值查找策略  构建轻量级网站内部消息系统:Formspree 集成指南  微信群消息显示延迟如何解决 微信群消息刷新优化方法  现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践  Excel Power Pivot如何处理XML数据源 构建高级数据模型  SteamMachine定价或为699美元 大家想入手吗?  红果短剧网页版官网入口 官方最新网址发布  小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍 

搜索