SQLite和MySQL是两种广泛使用的数据库系统,它们在性能、功能、使用场景等方面存在显著差异。本文将深入探讨SQLite与MySQL的核心差异,并通过实战应用案例来展示它们在不同场景下的使用。一、...
SQLite和MySQL是两种广泛使用的数据库系统,它们在性能、功能、使用场景等方面存在显著差异。本文将深入探讨SQLite与MySQL的核心差异,并通过实战应用案例来展示它们在不同场景下的使用。
场景:开发一个简单的移动端应用,需要存储用户信息。
代码示例:
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('user.db')
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL
)
''')
# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('张三', 20)")
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users WHERE name = '张三'")
rows = cursor.fetchall()
for row in rows: print(row)
# 关闭数据库连接
cursor.close()
conn.close()场景:开发一个大型Web应用,需要存储用户信息和订单信息。
代码示例:
import mysql.connector
# 创建数据库连接
conn = mysql.connector.connect( host='localhost', user='root', password='password', database='webapp'
)
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL
)
''')
# 创建订单表
cursor.execute('''
CREATE TABLE IF NOT EXISTS orders ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, product TEXT NOT NULL, price DECIMAL(10, 2) NOT NULL, FOREIGN KEY (user_id) REFERENCES users (id)
)
''')
# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('张三', 20)")
cursor.execute("INSERT INTO users (name, age) VALUES ('李四', 25)")
cursor.execute("INSERT INTO orders (user_id, product, price) VALUES (1, '电脑', 5000.00)")
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows: print(row)
cursor.execute("SELECT * FROM orders")
rows = cursor.fetchall()
for row in rows: print(row)
# 关闭数据库连接
cursor.close()
conn.close()SQLite和MySQL在性能、功能、使用场景等方面存在显著差异。在实际应用中,应根据需求选择合适的数据库系统。本文通过实战应用案例展示了SQLite与MySQL在不同场景下的使用,希望能对您有所帮助。