📅  最后修改于: 2023-12-03 15:38:36.330000             🧑  作者: Mango
关系代表了不同实体之间的连接,是数据库设计中非常重要的一部分。在Python中,我们可以使用不同的库来建立关系。
下面是几种常见的建立关系的方法:
SQLite是一个轻量级的关系型数据库管理系统,可以在Python中使用内置的sqlite3库来创建和连接SQLite数据库。以下是简单的SQLite数据库建立和查询代码示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建表格
conn.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
# 插入数据到表格
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )")
# 查询数据
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print "ID = ", row[0]
print "NAME = ", row[1]
print "ADDRESS = ", row[2]
print "SALARY = ", row[3], "\n"
# 关闭数据库连接
conn.close()
MySQL是一个流行的开源关系型数据库管理系统,使用Python连接MySQL需要安装Python的MySQLdb库。以下是简单的MySQL数据库建立和查询代码示例:
import MySQLdb
# 连接到数据库
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 创建表格
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
cursor.execute(sql)
# 插入数据到表格
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) \
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
# 查询数据
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fetch data"
# 关闭数据库连接
db.close()
MongoDB是一个高性能的、面向文档的开源NoSQL数据库系统,可以在Python中使用pymongo库来创建和连接MongoDB数据库。以下是简单的MongoDB数据库建立和查询代码示例:
import pymongo
# 连接到数据库
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
# 创建数据库
mydb = myclient["mydatabase"]
# 创建集合
mycol = mydb["customers"]
# 插入数据到集合
mydict = { "name": "John", "address": "Highway 37" }
x = mycol.insert_one(mydict)
# 查询数据
for x in mycol.find():
print(x)
# 关闭数据库连接
myclient.close()
总结:
无论您是使用SQLite、MySQL还是MongoDB,Python都提供了丰富的库来帮助您建立关系。这些库的使用非常简单,只需几行代码即可创建和查询数据库中的关系。如果您需要在应用程序中使用关系,请使用这些库中的一种。