本文主要展示的是“如何用Python实现数据库操作”,简单易懂,条理清晰,希望能帮你解决疑惑。让边肖带领大家学习《如何用Python实现数据库操作》一文。
一、Mysql数据库:
安装pymysql:
pip安装pymysql
1.数据库连接对象连接的常见方法:
Cursor() #创建一个游标对象。
Commit() #提交事务。
Rollback() #事务回滚。
Close() #关闭数据库连接。
2.光标对象光标的常用方法:
Execute() #执行SQL语句。
execute multi-day用于执行多日SQL语句。
Close() #用于关闭光标。
Fetchone() #用于从结果中获取一条记录,并将光标指向下一条记录。
Fetchall() #从结果中获取所有记录。
Scroll() #用于光标滚动。
来自my KNN导入my KNN
Sql:类
def __init__(自身,db=无):
#初始化连接数据库。
# self . conn=pymysql . connect(db=dataName,user='user ',passwd='passwd ',host='host ',charset='utf8 ')
#这是我自己的写作方法。通常情况下,安装pymysql并连接上面的句子。
self . conn=my KNN . get _ conn(db)if db!=没有其他my KNN . get _ conn()
def get_databases(self):
''获取所有数据库名称'''
返回self.getSqlData('显示数据库')
def get_tables(self):
获取所有表名'''
返回self.getSqlData('显示表格')
def create_table(自身,表):
创建表“”
cur=self.conn.cursor()
# id:无符号整数,主键,自增;名称:字符串;年龄:无符号整数。
sql=' ' '创建表{} (id int无符号主键auto_increment name varchar(10),age int无符号)(' ')。格式(表格)
cur.execute(sql)
self.conn.commit()
极好的
insert_data(自身,表):
''向数据表中添加一段数据'''
cur=self.conn.cursor()
sql=“插入到{}(姓名,年龄)值(%s,%s)中”
cur.execute(sql,(' myName ',80))
self.conn.commit()
def update_data(自身,表):
''修改表''中的数据'
cur=self.conn.cursor()
sql='update {}设置年龄=18,其中name='myName '。格式(表格)
cur.execute(sql)
self.conn.commit()
def select_data(自身,表):
''从数据库表中查询数据'''
cur=
self.conn.cursor()
sql = "select name,age from {}".format(table)
cur.execute(sql)
return cur.fetchall()
def delete_data(self, table):
''' 从数据库表删除数据 '''
cur = self.conn.cursor()
sql = "delete from {} where name='myName'".format(table)
cur.execute(sql)
self.conn.commit()
def get_fields(self,table):
''' 获取指定表的字段 '''
cur = self.conn.cursor()
sql = "SELECT * FROM {} LIMIT 1".format(table)
cur.execute(sql)
v = cur.description
zds = [i[0] for i in v]
self.conn.commit()
return zds
def unique(self,table,*fields):
''' 唯一设置
table:表名,fields:字段名列表; '''
cur = self.conn.cursor()
if len(fields) == 1:
sql = "ALTER TABLE {} ADD unique(".format(table)
else:
sql = "ALTER TABLE {} ADD UNIQUE KEY(".format(table)
for i in fields:
sql += i
if i != fields[-1]:
sql += ','
else:
sql += ')'
try:
cur.execute(sql)
except Exception as exc:
print(exc)
else:
self.conn.commit()
def closeSql(self):
''' 关闭数据库连接 '''
self.conn.close()
二、MongoDB数据库
1,安装 mongodb:
到MongoDB官网下载对应版本的安装包: https://www.mongodb.com/download-center?jmp=nav#community
1,把MongoDB安装到C盘或者D盘都可以
2,在C盘建立data\db文件夹作为数据文件的存储路径,建立data\log文件夹存储日志文件。
3,安装服务:cmd 进入到MongoDB的bin目录,执行:mongod --dbpath "C:\data\db" ?--logpath "C:\data\log\log.txt" ?--install -serviceName "MongoDB"
4,开启服务:net start MongoDB
注:有时由于没有正常关闭MongoDB,导致开启服务失败,可尝试删除C:\data\db下的mongod.lock再开启服务
mongod --dbpath "C:\data\db" ?--logpath "C:\data\log\log.txt" ?--install -serviceName "MongoDB"
2,安装 pymongo:
pip install pymongo
import pymongo
import datetime
class Mongodb:
""" Python MangoDB 的简单操作 """
def __init__(self):
# 1、建立连接
# client = pymongo.MongoClient('localhost',27017) # 第一种方法
client = pymongo.MongoClient('mongodb://localhost:27017') # 第二种方法
# 2、获取数据库
# db = client.db_name # 第一种方法
db = client['db_name'] # 第二种方法
# 3、获取一个集合
# self.collection = db.table # 第一种方法
self.collection = db['table'] # 第二种方法
def insert_data(self):
''' 插入文档 '''
# name:姓名;age:年龄;datetime:存储时间
user = {
"name":"myName",
"age":18,
"datetime":datetime.datetime.utcnow()
}
# 插入后,如果文档内没有_id这个键值,则系统会自动添加_id;其中user可以是多个user组成的列表
user_id = self.collection.insert(user)
return user_id
def find_one_data(self):
''' 查询一条文档 '''
data = self.collection.find_one({"name":"myName"}) # 查询name为myName的
return data
def find_data(self):
''' 查询多个文档 '''
# data = [d for d in self.collection.find()] # 查询所有
data = [d for d in self.collection.find({"name":"myName"})] # 查询所有指定name的文档
return data
def find_limit_data(self):
''' 根据条件查询数据:
MongoDB中条件操作符有:
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte '''
data = self.collection.find({"age":{"$gt": 12}}) # 查询年龄大于12岁的
return data
def get_size(self):
''' 查询符合条件的文档条数 '''
size = self.collection.find({"name":"myName"}).count()
return size
def get_names(self):
''' 查询所有 name 的值,不重复的。返回list '''
names = self.collection.distinct('name')
return names
def update_data(self):
''' 修改文档 '''
self.collection.update({"name":"myName"},{"$set":{"age":28}}) # 修改name为myName的年龄
def delete_data(self):
''' 删除文档 '''
self.collection.remove({"name":"myName"}) # 删除name为myName的文档
以上是“Python中如何实现数据库操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/53561.html