Python有丰富的数据库驱动,可以轻松连接各种数据库。主要有:
1. MySQL:
- 使用
pymysql
驱动连接MySQL数据库。 - 用法:
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test')
cursor = conn.cursor()
cursor.execute('select * from users')
result = cursor.fetchall()
print(result)
cursor.execute('insert into users values(%s,%s)', ('Jack', '123456'))
conn.commit()
cursor.close()
conn.close()
2. PostgreSQL:
- 使用
psycopg2
驱动连接PostgreSQL数据库。 - 用法:
import psycopg2
conn = psycopg2.connect(database='test', user='postgres', password='123456', host='localhost')
cursor = conn.cursor()
cursor.execute('SELECT * FROM users;')
result = cursor.fetchall()
print(result)
cursor.execute('INSERT INTO users VALUES (%s, %s);', ('Jack', '123456'))
conn.commit()
cursor.close()
conn.close()
3. MongoDB:
- 一个 NoSQL 数据库,使用
pymongo
驱动进行连接。 - 用法:
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017/')
db = client['test']
collection = db['users']
result = collection.find()
for item in result:
print(item)
collection.insert_one({'name': 'Jack', 'age': 18})
client.close()
4. Redis:
- 一个 NoSQL Key-Value数据库,使用
redis-py
驱动进行连接。 - 用法:
import redis
conn = redis.Redis('localhost')
conn.set('name', 'Jack')
print(conn.get('name')) # Jack
conn.lpush('list', 1, 2, 3)
conn.lrange('list', 0, -1) # [b'3', b'2', b'1']
conn.hset('user', 'name', 'Jack')
conn.hget('user', 'name') # b'Jack'
conn.zadd('score', {'Jack': 95, 'Tom': 85})
conn.zrange('score', 0, -1, withscores=True)
# [(b'Tom', 85), (b'Jack', 95)]