当前位置: 首页 > news >正文

Python学习之路(三)

将 Python 与数据库对接是开发过程中常见的任务,可以使用多种数据库(如 SQLite、MySQL、PostgreSQL、Oracle、MongoDB 等)。以下是一些常见的数据库及其与 Python 的对接方法,包括安装库、连接数据库、执行查询和操作数据的示例。
个人还是比较喜欢用sqlite和MySQL,毕竟是免费的而且占空间小╮(╯▽╰)╭

1. SQLite

SQLite 是一个轻量级的嵌入式数据库,适合小型应用和开发环境。

1.1 安装库

SQLite 库是 Python 标准库的一部分,无需额外安装。

1.2 连接数据库
import sqlite3# 连接到 SQLite 数据库(如果数据库不存在,则会自动创建)
conn = sqlite3.connect('example.db')# 创建一个游标对象
cursor = conn.cursor()
1.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,age INTEGER NOT NULL
)
''')
conn.commit()
1.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
conn.commit()
1.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:print(row)
1.6 关闭连接
conn.close()

2. MySQL

MySQL 是一个广泛使用的开源关系型数据库管理系统。

2.1 安装库

使用 mysql-connector-python 库。

pip install mysql-connector-python
2.2 连接数据库
import mysql.connector# 连接到 MySQL 数据库
conn = mysql.connector.connect(host='localhost',user='your_username',password='your_password',database='your_database'
)# 创建一个游标对象
cursor = conn.cursor()
2.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,age INT NOT NULL
)
''')
conn.commit()
2.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Bob', 25))
conn.commit()
2.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:print(row)
2.6 关闭连接
conn.close()

3. PostgreSQL

PostgreSQL 是一个功能强大的开源对象关系型数据库系统。

3.1 安装库

使用 psycopg2 库。

pip install psycopg2-binary
3.2 连接数据库
import psycopg2# 连接到 PostgreSQL 数据库
conn = psycopg2.connect(host='localhost',user='your_username',password='your_password',dbname='your_database'
)# 创建一个游标对象
cursor = conn.cursor()
3.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY,name VARCHAR(255) NOT NULL,age INT NOT NULL
)
''')
conn.commit()
3.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('Bob', 25))
conn.commit()
3.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:print(row)
3.6 关闭连接
conn.close()

4. Oracle

Oracle 是一个强大的商业关系型数据库管理系统。

4.1 安装库

使用 cx_Oracle 库。

pip install cx_Oracle
4.2 连接数据库
import cx_Oracle# 连接到 Oracle 数据库
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='your_service_name')
conn = cx_Oracle.connect(user='your_username', password='your_password', dsn=dsn_tns)# 创建一个游标对象
cursor = conn.cursor()
4.3 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,name VARCHAR2(255) NOT NULL,age NUMBER NOT NULL
)
''')
conn.commit()
4.4 插入数据
cursor.execute('INSERT INTO users (name, age) VALUES (:1, :2)', ('Alice', 30))
cursor.execute('INSERT INTO users (name, age) VALUES (:1, :2)', ('Bob', 25))
conn.commit()
4.5 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:print(row)
4.6 关闭连接
conn.close()

5. MongoDB

MongoDB 是一个流行的 NoSQL 数据库。

5.1 安装库

使用 pymongo 库。

pip install pymongo
5.2 连接数据库
from pymongo import MongoClient# 连接到 MongoDB 数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['your_database']
collection = db['users']
5.3 插入数据
collection.insert_one({'name': 'Alice', 'age': 30})
collection.insert_one({'name': 'Bob', 'age': 25})
5.4 查询数据
users = collection.find()
for user in users:print(user)
5.5 关闭连接
client.close()

相关文章:

  • 基于MyBatis自定义拦截器实现数据库字段加密脱敏
  • 反转一个字符串
  • C++零基础实践教程 文件输入输出
  • Java转Go日记(一):Slice解密
  • 【字符串的hashCode】hashCode相等但是对应的字符串值不一定相等
  • 分类别中位数归一化
  • 常用正则化技术dropout
  • spark-SQL数据加载和保存
  • Redis清空缓存
  • 【解析】ReentrantLock锁、Syschronized锁面试点解析
  • 数启新疆,智领未来!2025新疆数字经济发展战略研讨会在乌市启幕
  • go学习记录(第二天)
  • unityTEngine 框架学习记录1
  • OpenCv高阶(四)——角点检测
  • 充电宝项目中的MQTT(轻量高效的物联网通信协议)
  • Sherpa简介
  • 公务员体检肌酐临界值处理指南
  • 比特率、码元速率(波特率)的定义、关系及相关计算公式
  • 代码随想录算法训练营day5(哈希表)
  • 【Python进阶】字典:高效键值存储的十大核心应用
  • 建设通网站cbi/淘宝关键词搜索量查询工具
  • 那个网站可以做ppt赚钱/网站排名推广软件
  • 十堰网站建设哪家好/网站seo什么意思
  • 有没有做市场评估的网站/好推建站
  • 网站建设与管理职业分析/今日短新闻20条
  • 合肥软件建设/seo门户网站建设方案