c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

使用Python操作SQL te数据库

郑伊雯 2023-07-08编程经验
Python操作SQL数据库简介Python是当今编程领域最受欢迎的语言之一,可以方便地连接和操作各种数据库,包括MySQL、PostgreSQL和SQLite等。Python通过不同

Python操作SQL数据库简介

Python是当今编程领域最受欢迎的语言之一,可以方便地连接和操作各种数据库,包括MySQL、PostgreSQL和SQLite等。Python通过不同的模块来连接和操作不同的数据库。对于SQL数据库,我们通常使用Python的pymysql、psycopg2和sqlite3模块。接下来我们将详细介绍如何使用Python来连接和操作SQL数据库。

Python操作MySQL数据表

MySQL是目前最受欢迎的RDMS。pymsql模块可以连接MySQL的数据库,并操作数据表。下面是连接和操作MySQL数据库的示例代码:

import pymysql

# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='password', database='test_db', port=3306)

# 创建游标对象
cursor = db.cursor()

# 创建表
sql_create_table = '''CREATE TABLE IF NOT EXISTS `user` (
                        `id` INT NOT NULL AUTO_INCREMENT,
                        `name` VARCHAR(16)  NOT NULL,
                        `age` TINYINT NOT NULL,
                        `gender` ENUM('M', 'F')  NOT NULL,
                        `email` VARCHAR(32)  NULL,
                        PRIMARY KEY (`id`)
                    ) ENGINE=InnoDB DEFAULT CHARSET=utf8'''
cursor.execute(sql_create_table)

# 插入数据
sql_insert_data = "INSERT INTO `user`(`name`, `age`, `gender`, `email`) VALUES ('张三', 20, 'M', 'zhangsan@xx.com')"
cursor.execute(sql_insert_data)
db.commit()

# 查询数据
sql_select_data = "SELECT * FROM `user`"
cursor.execute(sql_select_data)
res = cursor.fetchall()
print(res)

# 关闭游标和数据库连接
cursor.close()
db.close()

Python操作PostgreSQL数据库

Python可以连接和操作PostgreSQL数据库。psycopg2模块提供了连接PostgreSQL数据库的工具。下面是连接和操作PostgreSQL数据库的示例代码:

import psycopg2

# 连接到数据库
conn = psycopg2.connect(
            host="localhost",
            database="test_db",
            user="postgres",
            password="password",
            port="5432"
        )

# 创建游标对象
cur = conn.cursor()

# 创建表
sql_create_table = '''CREATE TABLE IF NOT EXISTS "user" (
                        "id" SERIAL PRIMARY KEY,
                        "name" VARCHAR(16)  NOT NULL,
                        "age" SMALLINT NOT NULL,
                        "gender" CHAR(1)  NOT NULL,
                        "email" VARCHAR(32)  NULL
                    );'''
cur.execute(sql_create_table)

# 插入数据
sql_insert_data = "INSERT INTO \"user\"(\"name\", \"age\", \"gender\", \"email\") VALUES ('李四', 25, 'M', 'lisi@xx.com')"
cur.execute(sql_insert_data)
conn.commit()

# 查询数据
sql_select_data = "SELECT * FROM \"user\""
cur.execute(sql_select_data)
res = cur.fetchall()
print(res)

# 关闭游标和数据库连接
cur.close()
conn.close()

Python操作SQLite数据库

Python也可以使用标准库sqlite3来连接和操作SQLite数据库。SQLite是嵌入式数据库,不需要一个单独的服务器进程,可以在本地直接创建数据库。下面是创建和操作SQLite数据库的示例代码:

import sqlite3
 
# 连接数据库
conn = sqlite3.connect('test.db')
 
# 创建游标对象
cursor = conn.cursor()
 
# 创建表
sql_create_table = '''CREATE TABLE IF NOT EXISTS user (
                        id INTEGER PRIMARY KEY AUTOINCREMENT,
                        name TEXT NOT NULL,
                        age INTEGER NOT NULL,
                        gender TEXT NOT NULL,
                        email TEXT NULL
                    );'''
cursor.execute(sql_create_table)

# 插入数据
sql_insert_data = "INSERT INTO user(name,age,gender,email) VALUES ('王五', 22, 'M', 'wangwu@xx.com')"
cursor.execute(sql_insert_data)
conn.commit()

# 查询数据
sql_select_data = "SELECT * FROM user"
cursor.execute(sql_select_data)
res = cursor.fetchall()
print(res)

# 关闭游标和数据库连接
cursor.close()
conn.close()

文章评论