栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python SQLAchemy增删查改

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python SQLAchemy增删查改

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 前言
  • 一、安装flask_sqlalchemy
  • 二、加载资源
    • 1.引入库
    • 2.新建数据库
          • 2.1 使用Navicat数据库可视化工具,新建数据库,保证红框内的数据库名称和config.py里DATABASE名称相同。
          • 2.2 此时表是空的,接下来创建表使用SQLAlchemy来创建。
    • 3.操作数据库
          • 3.1.插入数据
          • 3.2 查看数据
          • 3.3 删除数据
          • 3.4 更新数据
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装flask_sqlalchemy

安装SQL Alchemy

pip install SQLAlchemy

安装数据库驱动

pip install pumysql
二、加载资源 1.引入库

代码如下(示例):
在app.py里配置

from flask import *
import config
from exts import db
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object(config)
# 把db绑定到app上
db.init_app(app)
db = SQLAlchemy(app)

配置exts.py(新建python文件和app.py同级目录)

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

配置config.py(新建python文件和app.py同级目录)

from flask_sqlalchemy import SQLAlchemy
JSON_AS_ASCII = False

# 数据库连接:
HOSTNAME = '127.0.0.1'
PORT     = '3306'
DATABASE = 'flask_test_sql'
USERNAME = 'root'
PASSWORD = 'root'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)

SQLALCHEMY_DATABASE_URI = DB_URI
# 取消跟踪修改
SQLALCHEMY_TRACK_MODIFICATIONS = True
# SECRET_KEY随便写
SECRET_KEY= 'TPmi4aLWRbyVq8zu9v82dWYW1'
2.新建数据库 2.1 使用Navicat数据库可视化工具,新建数据库,保证红框内的数据库名称和config.py里DATABASE名称相同。

2.2 此时表是空的,接下来创建表使用SQLAlchemy来创建。

代码如下(示例):

class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    name = db.Column(db.String(200),nullable=False)
    gender = db.Column(db.String(10),nullable=False)
    age = db.Column(db.Integer,nullable=False)
db.create_all()

此时启动服务就可以创建成功了。

3.操作数据库 3.1.插入数据
// 实例化一个User_insert,将数据插入User表中
User_insert= User(name="user",gender="man",age=18,)
db.session.add(User_insert)
// 提交
db.session.commit()
3.2 查看数据
# user获取到的是所有数据库里的项,存储在列表中
user= User.query.filter_by().all()
# 取user表中第一个项
user1= User.query.filter_by().all()[0]
# 获取user表中第一个项的name
user2= User.query.filter_by().all()[0].name
# 根据id获取id获取name
user3 = User.query.filter_by(id = 1).all()[0].name
# 模糊查询(查询name中有'test'值的数据)
# 需要导入or_库:from sqlalchemy import or_
User.query.filter(or_(User.name.contains('test'))).all()
# 模糊查询(年龄大于10,且名字中带有Ryan的数据)
User.query.filter(or_(Users.name=='Ryan', Users.age>10)).all()
# 遍理获取所有name
for i in user:
	print(i.name)
3.3 删除数据
# 删除user表中id=1的值
User.query.filter_by(id = 1).delete()
db.session.commit()
# 模糊删除(删除name中有'test'值的数据)
User.query.filter(or_(User.name.contains('test'))).delete()
3.4 更新数据
# 先查出来再修改属性即可
user = User.query.filter_by(id = 1).all()[0]
user.name = '修改值'


总结

filter_by和filter区别:

将数据库数据插入excel:

import pymysql
import pandas as pd
conn = pymysql.connect(host='127.0.0.1',user='root',password='root',port=3306,db='flask_test_sql',charset='utf8')
df = pd.read_sql("""select * from User""",con=conn)
df.to_excel("D:/Desktop/test.xlsx", index=True)
conn.close()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号