Python sqlalchemy orm 常用操作
增add
- # 创建表1
- # 注:高级封装
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",
encoding='utf-8', echo=True) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 创建表结构
# 调用Baew基类方法metadata.create_all(链接数据库)
Base.metadata.create_all(engine)
- # 创建表2
- # 注:第一种方式创建的表就是基于第2种方式的再封装。
from sqlalchemy import Table, MetaData, Column, Integer, String, ForeignKey
from sqlalchemy.orm import mapper metadata = MetaData() # 创建表结构,调用metadata
user = Table('user', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50)),
Column('fullname', String(50)),
Column('password', String(12))
) # 创建类
class User(object):
def __init__(self, name, fullname, password):
self.name = name
self.fullname = fullname
self.password = password # 将表元数据与表构造分开创建,然 后通过mapper()函数与用户类关联。
mapper(User, user)
- # 表内插入数据
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 生成你要创建的数据对象,只是创建对象
user_obj = User(name="kevin",password="") #把要创建的数据对象添加到这个session里, 一会统一创建
Session.add(user_obj) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
删delete
- # 删除表中字段中数据
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 取出删除的字段对象
x = Session.query(User).filter(User.id=='').first() # 使用delete删除
Session.delete(x) # 提交事件执行
Session.commit() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
改update
- # 修改列表下字段下数据
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 打印第一个User列表内指定name字符下kevin数据的 第一个对象
data = Session.query(User).filter_by(name="n3").first() # data对象.字段 = ‘修改内容’
data.name = 'vin.xx' #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()View Cod
查select
- # 查找表内指定字符
- 注:.all() 生成一个列表对象 .first() 打印第一个对象
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 使用.filter_by 不能使用“<>”指定对象时不需要调用类对象。
data = Session.query(User).filter_by(name="n3").all() # 取出data列表内的第一个内存地址下的name字段。
print(data[0].name) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 查找表内指定字符范围查找
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 使用.filter可以使用"< == >'符号来指定范围查找,前面需要加类对象
data = Session.query(User).filter(User.id>2).all()
print(data) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 查找表内指定字符范围,多个条件查找
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 可以通过filter多条件查询
data = Session.query(User).filter(User.id >1).filter(User.id <3).all()
print(data) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 统计获取数量
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 使用.count()统计获取数量
print(Session.query(User).count()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 分组获取相同数
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# from sqlalchemy import func # func.count统计数量(类对象.统计字段),显示字段
# .group_by(统计字段).all()
print(Session.query(func.count(User.name),User.name).group_by(User.name).all()) #相当于原生sql为
#SELECT count(user.name) AS count_1, user.name AS user_name
#FROM user GROUP BY user.name #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 两张表 字段匹配 查找相同数据
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String,DATE,Enum
# 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) class User2(Base):
# __tablename__ 表名
__tablename__ = 'user2' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine)
#生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # Session.query(表1,表2).filter(表1.字段==表2.字段).all()
print(Session.query(User,User2).filter(User.id==User2.id).all()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 两张表 外键匹配 查找相同数据
- 注:通过join匹配两个表中的外键字段 打印数据
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String,DATE,Enum
# 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) class User2(Base):
# __tablename__ 表名
__tablename__ = 'user2' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine)
#生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # Session.query(表1).join(表2).all()
print(Session.query(User).join(User2).all()) # Session.query(表1).join(表2,isouter=True)
print(Session.query(User).join(User2,isouter=True).all()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
- # 回滚操作
import sqlalchemy # 调用链接数据库
from sqlalchemy import create_engine
# 调用基类Base
from sqlalchemy.ext.declarative import declarative_base
# 调用Column创建字段 加类型
from sqlalchemy import Column, Integer, String # 调用操作链接
from sqlalchemy.orm import sessionmaker # create_engine 链接数据库 mysql+pymysql:链接对象//用户名:密码@主机/DB
# encoding='utf-8' 链接字符集 ,echo=True 把所有信息打印出来
engine = create_engine("mysql+pymysql://root:123456@192.168.1.154/xiang",encoding='utf-8',
#echo=True
) # 生成orm基类
Base = declarative_base() # 继承Base
class User(Base):
# __tablename__ 表名
__tablename__ = 'user' # Column字段(数据类型 Integer整数,primary_key=True主键)
id = Column(Integer, primary_key=True) # Column字段(String(32)字符长度)
name = Column(String(32)) # Column字段(String(64)字符长度)
password = Column(String(64)) # 返回一个可以用来表示对象的可打印字符串
def __repr__(self):
return "<%s name:%s>"%(self.id,self.name) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
# bind=engine 绑定engine socket实例
Session_class = sessionmaker(bind=engine) #生成session实例,如同pymysql内的cursor
Session = Session_class() #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# # 添加一条数据User
fuck_user = User(name='Rain',password='')
Session.add(fuck_user) # 这时看session里有你刚添加和修改的数据
# User.name.in_([数据1,数据2]),打印数据1或数据2
print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all()) # 回滚命令
Session.rollback() # 数据回滚后再次查看
print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all()) #+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-#
#+-+-++-+-++-+-++-+-++-+-++-+-++-+-++-+-# #现此才统一提交,创建数据
Session.commit()
Python sqlalchemy orm 常用操作的更多相关文章
- Python sqlalchemy orm 多对多外键关联
多对多外键关联 注:使用三张表进行对应关联 实现代码: # 创建3个表 配置外键关联 # 调用Column创建字段 加类型 from sqlalchemy import Table, Column, ...
- ORM常用操作
一般操作 专业官网文档 必会13条查询 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> get ...
- Python SQLAlchemy ORM示例
SQLAlchemy的是Python的SQL工具包和对象关系映射,给应用程序开发者提供SQL的强大功能和灵活性. 安装 pip install mysql-python pip install sql ...
- 二叉树的python可视化和常用操作代码
二叉树是一个重要的数据结构, 本文基于"二叉查找树"的python可视化 pybst 包, 做了一些改造, 可以支持更一般的"二叉树"可视化. 关于二叉树和二叉 ...
- Python sqlalchemy orm 外键关联
创建外键关联 并通过relationship 互相调用 如图: 实现代码: import sqlalchemy # 调用链接数据库 from sqlalchemy import create_engi ...
- Python sqlalchemy orm 多外键关联
多外键关联 注:在两个表之间进行多外键链接 如图: 案例: # 创建两张表并添加外键主键 # 调用Column创建字段 加类型 from sqlalchemy import Integer, For ...
- Python数据类型及常用操作
Python字符串类型 1.用途: 用来记录有描述性的状态.比如:人名,地址等. 2.定义方式: 创建字符串非常简单,在‘ ’,“ ”,‘’‘ ’‘’内一填写一系列的字符例如:msg='hello' ...
- Python字符串的常用操作学习
>>> name = "I love my job!" >>> name.capitalize() #首字母大写 'I love my job! ...
- Python集合的常用操作
字典常用的就是,他的去重. set集合是python的一个基本数据类型. set中的元素是不重复的.⽆无序的.⾥面的元素必须是可hash的(int, str, tuple,bool). 我们可以这样来 ...
随机推荐
- PowerBI与Visio
前言 如何在Power BI中使用Visio, 刚好最近微软推出了适用于Power BI 的 Visio自定义可视化对象预览,分享给大家. 我们先看一下效果: 通过自定义可视化对象,将Visio ...
- Java正则表达式使用 | 叠加
public class Test { public static void main(String[] args) { String s = "ni\nhao\nma he yi\nyon ...
- cmd返回上一级和根目录
https://jingyan.baidu.com/article/066074d6154cf4c3c21cb013.html
- 遍历文件,读取.wxss文件,在头部添加一条注释
change.pl #!/usr/bin/perl use autodie; use utf8; use Encode qw(decode encode); use v5.26; my $path = ...
- Linux命令vi/vim 使用方法讲解
vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- Feign 客户端源码解析
Feign的使用非常简单,增加如下配置之后,便可以使用Feign进行调用.非常简单是不是.主要的工作由Feign框架完成.业务代码只提供了一个Interface, 然后由Feign动态生成代理类来实现 ...
- en-zh(社会问题)social problems-2
让屏幕代替父母陪孩子?世卫组织:这样是不对的! No sedentary screen time for babies, WHO says Babies and toddlers should not ...
- Xcode工程编译错误之iOS开发之Sending '__strong typeof (xxx)' (aka 'xxxx *__strong') to parameter of incompatible type 'id<xxx>'
iphone开发出现警告: Sending '__strong typeof (xxx)' (aka 'xxxx *__strong') to parameter of incompatible ty ...
- Python3学习之路~5.13 re模块 正则表达式
re模块用于对python的正则表达式的操作. 常用正则表达式符号 字符数字: . 匹配除换行符以外的任意字符,即[^\n] \s 匹配任意空白符(如\t.\n.\r ) \S 匹配任意非空白符 \w ...
- JDK 1.8源码阅读 HashMap
一,前言 HashMap实现了Map的接口,而Map的类型是成对出现的.每个元素由键与值两部分组成,通过键可以找对所对应的值.Map中的集合不能包含重复的键,值可以重复:每个键只能对应一个值. 存储数 ...