python连接数据库(连MySQL)

Python操作和连接数据库

在Python中,你可以使用不同的库来操作和连接数据库,最常用的是sqlite3MySQLdbpsycopg2

  1. 使用sqlite3连接和操作SQLite数据库:
import sqlite3

# 连接数据库
conn = sqlite3.connect('database.db')

# 创建游标
cursor = conn.cursor()

# 执行SQL语句
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('John', 25))

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()
  1. 使用MySQLdb连接和操作MySQL数据库:
  2. python3.7安装不了MySQLdb这个模块,应该安装mysqlclient,就可以import MySQLdb了。
import MySQLdb

# 连接数据库
conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='database')

# 创建游标
cursor = conn.cursor()

# 执行SQL语句
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), age INT)")

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('John', 25))

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()
  1. 使用psycopg2连接和操作PostgreSQL数据库:
import psycopg2

# 连接数据库
conn = psycopg2.connect(host='localhost', user='postgres', password='password', dbname='database')

# 创建游标
cursor = conn.cursor()

# 执行SQL语句
cursor.execute("CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(255), age INT)")

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('John', 25))

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()

以上是连接和操作数据库的基本示例,具体的操作和语法会根据不同的数据库而有所不同。你可以根据自己的需求选择适合的库和数据库进行操作。

使用pycharm3.8版本安装mysqlclient模块:就可以使用MySQLdb模块了

python3.7安装不了MySQLdb这个模块,应该安装mysqlclient,就可以import MySQLdb了。

import MySQLdb

# 连接数据库
conn = MySQLdb.connect(host='192.168.8.200', user='root', passwd='123456', db='test')

# 创建游标
cursor = conn.cursor()

# 执行SQL语句
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), age INT)")

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('aaa', 25))
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('bbb', 19))
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('ccc', 21))

# 提交事务
conn.commit()

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)

# 关闭连接
conn.close()

 

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

使用pymysql连接数据(执行查询语句):

import pymysql

# 创建数据库连接
conn = pymysql.connect(
host = '192.168.8.200', # 连接主机, 默认127.0.0.1
user = 'root', # 用户名
passwd = '123456',# 密码
port = 3306, # 端口,默认为3306
db = 'test', # 数据库名称
charset = 'utf8' # 字符编码
)

# 生成游标对象 cursor
cursor = conn.cursor()

# 查询数据库版本
cursor.execute("select * from users") # 返回值是查询到的数据数量
# 通过 fetchall方法获得数据
data = cursor.fetchall()
for row in data:
print(row)

cursor.close() # 关闭游标
conn.close() # 关闭连接

 

 

阅读 959
Python小例子
 
 
关注后可发消息
 
 
 
 
posted @ 2023-11-29 15:08  往事已成昨天  阅读(45)  评论(0编辑  收藏  举报