当前位置: 首页 > news >正文

网站建设多少爱网站查询

网站建设多少,爱网站查询,在百度上做网站找谁,网站设计价格大概多少关于sqlalchemy的使用 说明一、sqlachemy总体使用思路二、安装与创建库、连结库三、创建表、增加数据四、查询记录五、更新或删除六、关联表定义七、一对多关联查询八、映射类定义与添加记录 说明 本教程所需软件及库python3.10、sqlalchemy安装与创建库、连结库创建表、增加数…

关于sqlalchemy的使用

  • 说明
  • 一、sqlachemy总体使用思路
  • 二、安装与创建库、连结库
  • 三、创建表、增加数据
  • 四、查询记录
  • 五、更新或删除
  • 六、关联表定义
  • 七、一对多关联查询
  • 八、映射类定义与添加记录

说明

  1. 本教程所需软件及库python3.10、sqlalchemy
  2. 安装与创建库、连结库
  3. 创建表、增加数据
  4. 查询记录
  5. 更新或删除
  6. 关联表定义

一、sqlachemy总体使用思路

  1. 在创建或连结后会返回engine(可以参考第二节安装与创建库、连结库)
  2. 在创建表后会返回一个表名(可以参考第三节创建表、增加数据)
  3. 使用时表名.方法.属性
  4. 方法有insert,select,update,delecte
  5. 与数据对接时,conn = engine.connect()—conn.execut(表方法返回的值)
  6. 当数据库的数据发生改变时,要提交(conn.commit())
  7. 查询时,要注意条件,有两种方法where() | or_ | and_

二、安装与创建库、连结库

  1. 安装库
pip install sqlalchemy
#查看版本
sqlalchemy.__vetrsion__
  1. 创建库或连结库
#连结或创建sqlite3
from sqlalchemy import create_engine
engine = create_engine('sqlite:///db_path.db',echo=True)
conn = engine.connect()
#连结或创建mysql
from sqlalchemy import create_engine
engine = create_engine('mysql://user:pwd@localhoast/库名',echo=True)
conn = engine.connect()

注:create_engine如果已经存在就连结,如果不存在就创建。

  1. 在sqlalchemy执行sql语句
import sqlachemy
query = sqlachemy.text("select * from 表名")#sql语句
engine = sqlalchemy.create_engine(`sqlite:///db_path.db`,echo=True)
conn = engine.connect()
result_set = conn.execute(query)
print(result_set.all())
conn.close()
engine.dispose()

注:以下代码engine代表创建或检查数据库,conn代表连结数据库。

三、创建表、增加数据

  1. 创建表
    创建表要用到sqlalchemy的三个库MetaData、Table、Column及类型代码
from sqlalchemy import MetaData,Table,Column
meta = MetaData()
#Meta定义好的字段属性存在这,所以第二个字段就要传它
var = Table(
'表名',meta,
Clolumn('字段名',sqlachemy.类型,primary_key=True),
.......
)
meta.create_all(engine)#创建表

如果表已经存在了,就不会创建,如果不存在就创建。
2. sqlachemy字段类型

名称字段英文用法说明
整形IntegerInteger存整数
小数存小数
字符StringString(字符个数)存字符
日期DateDate存年月日

注:主键primary_key=True,unique=True唯一,unllable=True不能为空。

  1. 增加数据(insert)
    3.1 插入一条数据
var = 表名.insert().values(字段名=值,......)
with engine.connect() as conn:conn.execute(var)conn.commit()

1、连结conn以后执行数据库操作要用conn.execut(sqlachemy语句)
2、数据库数据有变要提交事务,conn.commit()
3、var = 表名.insert().values(字段名=值,…)是新增数据的sqlachemy语句
4、 自增长是插一次,它就增加一次,它不管你是否成功
3.2 插入多条数据

var = 表名.insert()
with engine.connect() as conn:conn.execute(var,[{'字段名':value,.......},{'字段名':value,.......},........])conn.commit()

这个要用列表,并且列表里放字典,key是字段名,value是对应的值

四、查询记录

  1. sql查询语句
select * from 表名
  1. 函数表达式
表名.select()
  1. 结果获取
结果.fetchall()#获取所有数据
结果.fetchone()#获取第一条数据
  1. 条件查询
表名.select().where(表名.c.字段名条件)
#一次只能有一个条件
#如果多个条件查询时,在后面加.where(表名.c.字段名条件)
  1. and_(与)、or_(或)
from sqlalchemy.sql import and_,or_
表名.select().where(or_(条件,条件.....) | and_(条件,条件.....))
# 要在where中使用and_,or_
# and_,or_可以相互嵌套

五、更新或删除

  1. 更新
表名.update().where(条件).values(字段名=value)
#查询结果后再更新值,一个values可以更新多条记录或所有记录,取决于查询的结果
  1. 删除
表名.delete().where(条件)
#查询结果后再删除,可以删除多条记录或所有记录,取决于查询的结果

六、关联表定义

  1. 一对多关联(sqlachemy.ForeignKey(‘表名.id’))
import sqlalchemy
#创建表
mate = sqlalchemy.MateData()
表名 = sqlachemy.Table('表名',mate,sqlachemy.Column('字段名',sqlachemy.Integer,sqlachemy.ForeignKey('关联的表名.id'),nullable=False),)
  1. 多对多

七、一对多关联查询

  1. 查询条件
imort sqlalchemy
join = 关联表名.join(被关联表名,关联表名.c.id==被关联表名.c.id)
  1. 使用查询
imort sqlalchemy
join = 关联表名.join(被关联表名,关联表名.c.id==被关联表名.c.id)
#关联表和被关联表的信息都显示
query = sqlalchemy.select(join).where(关联表或被关联表.字段=value)
#只显示关联表或被关联表的信息
query = sqlalchemy.select(被关联表名或关联表名).select_from(join).where(关联表或被关联表.字段=value)
print(conn.execute(query).fetchall())

八、映射类定义与添加记录

  1. 映射基础
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()class 类名(Base):__tablename__='表名'字段名 = Column(类型,其它参数)......
#创建表
类名.metadata.create_all(engine) 
  1. 利用类添加记录
from sqlalchemy.orm import sessionmakerSession = sessionmaker(bind=engine)session = Session()
#上面的类名
#增加一条记录
var = 类名(字段名=value,......)#类名实例化
session.add(var)
session.commit()
#增加多条记录
varList = [类名实例化列表]
session.add_all(varList)
session.commit()
http://www.hkea.cn/news/890924/

相关文章:

  • wordpress更改语言沈阳seo优化
  • wordpress免费网站世界大学排名
  • 做网站的属于什么专业?百度爱采购竞价推广
  • 网站建设一年多少恰东莞网站到首页排名
  • 新企业网站应该怎么做SEO优化广告联盟有哪些
  • 手机app开发网站建设软文推广文章案例
  • 网站自然排名百度经验官网登录
  • dz网站模板沧州网站优化公司
  • 桂林论坛天涯社区培训行业seo整站优化
  • 做伊瑞尔竞技场的网站搜索引擎简称seo
  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费
  • 做网站前后端的发布流程自己如何制作网站
  • 网站营销与推广策略百度一下官网首页百度
  • 网站建设张世勇100个免费推广b站
  • 网络营销的常用工具百度关键词优化点击 教程
  • 公司网站要怎么做少儿编程培训机构排名前十
  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准
  • 郑州的建设网站有哪些手续免费发布推广信息的平台有哪些
  • 手机做网站软件优化服务平台
  • 网站图片装修的热切图怎么做营销技巧培训
  • 可以上传图片的网站怎么做百度关键词点击
  • 泉州网站制作广州seo网站开发
  • cuntlove wordpressseo外链发布工具
  • 购买一个网站空间如何可以多个域名使用吗长沙网站建设服务
  • 天津市建设委员会网站上海网站制作开发
  • 扬中网站建设墨子学院seo
  • 分析电子商务网站建设需求教案青岛今天发生的重大新闻