欢迎访问宙启技术站
智能推送

数据库操作-使用Python操作数据库的相关函数和库

发布时间:2023-06-24 22:22:51

Python是一种高级编程语言,可以用来进行数据操作和数据分析。Python的优势之一就是它有很多强大的库和函数可以用来操作不同种类的数据。其中,操作数据库的函数和库是一个非常重要的部分,现在我们就来看看Python操作数据库的相关函数和库。

1. MySQL库

MySQL是最流行的开源数据库之一,也是Python支持的最流行的数据库之一。Python中操作MySQL数据库的库为mysql-connector-python,使用它可以很方便地操作MySQL数据库。

安装mysql-connector-python库:

pip install mysql-connector-python

连接MySQL数据库:

import mysql.connector

# 创建数据库连接对象
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="mydatabase"
)

print(mydb)

创建数据库:

import mysql.connector

# 创建数据库连接对象
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password"
)

# 创建数据库
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")    # 新建数据库

插入数据:

import mysql.connector

# 创建数据库连接对象
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="mydatabase"
)

# 插入数据
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()    # 提交对数据库的更改
print(mycursor.rowcount, "记录插入成功。")

查询数据:

import mysql.connector

# 创建数据库连接对象
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="mydatabase"
)

# 查询数据
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()    # 获取所有结果
for x in myresult:
  print(x)

2. SQLite库

SQLite是一种轻量级数据库,它可以在不需要独立的服务器进程或配置的情况下使用。Python中操作SQLite数据库的库为sqlite3,使用它可以很方便地操作SQLite数据库。

连接SQLite数据库:

import sqlite3

# 创建数据库连接对象
conn = sqlite3.connect('example.db')

print(conn)

创建表:

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);''')

插入数据:

import sqlite3

# 创建数据库连接对象
conn = sqlite3.connect('example.db')

# 插入数据
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
                  VALUES (1, 'Paul', 32, 'California', 20000.00)")

conn.commit()    # 提交对数据库的更改
print("Records created successfully")

查询数据:

import sqlite3

# 创建数据库连接对象
conn = sqlite3.connect('example.db')

# 查询数据
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], "
")

3. MongoDB库

MongoDB是一种非关系型数据库,它可以存储和处理大量的数据。Python中操作MongoDB数据库的库为pymongo,使用它可以很方便地操作MongoDB数据库。

安装pymongo库:

pip install pymongo

连接MongoDB数据库:

import pymongo

# 创建数据库连接对象
client = pymongo.MongoClient("mongodb://localhost:27017/")

print(client)

创建数据库:

import pymongo

# 创建数据库连接对象
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 创建数据库
mydb = client["mydatabase"]

插入数据:

import pymongo

# 创建数据库连接对象
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 插入数据
mydb = client["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "John", "address": "Highway 37" }
x = mycol.insert_one(mydict)

print(x.inserted_id)

查询数据:

import pymongo

# 创建数据库连接对象
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 查询数据
mydb = client["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find():
    print(x)