在python3下怎样用flask-sqlalchemy对mysql数据库 *** 作

在python3下怎样用flask-sqlalchemy对mysql数据库 *** 作,第1张

以 Debian/Ubuntu 为例(请确保有管理员权限):

1.MySQL

代码如下:

apt-get install mysql-server

apt-get install mysql-client

apt-get install libmysqlclient15-dev

2.python-mysqldb

代码如下:

apt-get install python-mysqldb

3.easy_install

代码如下:

wget http://peak.telecommunity.com/dist/ez_setup.py

python ez_setup.py

4.MySQL-Python

代码如下:

easy_install MySQL-Python

5.SQLAlchemy

代码如下:

easy_install SQLAlchemy

6、安装完成后使用下面代码测试连接

代码如下:

from sqlalchemy import create_engine

from sqlalchemy.orm import sessionmaker

DB_CONNECT_STRING = 'mysql+mysqldb://root:123@localhost/ooxx?charset=utf8'

engine = create_engine(DB_CONNECT_STRING, echo=True)

DB_Session = sessionmaker(bind=engine)

session = DB_Session()

7、数据 *** 作(增删改查)

代码如下:

from sqlalchemy import func, or_, not_

user = User(name='a')

session.add(user)

user = User(name='b')

session.add(user)

user = User(name='a')

session.add(user)

user = User()

session.add(user)

session.commit()

query = session.query(User)

print query # 显示SQL 语句

print query.statement # 同上

for user in query: # 遍历时查询

print user.name

print query.all() # 返回的是一个类似列表的对象

print query.first().name # 记录不存在时,first() 会返回 None

# print query.one().name # 不存在,或有多行记录时会抛出异常

print query.filter(User.id == 2).first().name

print query.get(2).name # 以主键获取,等效于上句

print query.filter('id = 2').first().name # 支持字符串

query2 = session.query(User.name)

print query2.all() # 每行是个元组

print query2.limit(1).all() # 最多返回 1 条记录

print query2.offset(1).all() # 从第 2 条记录开始返回

print query2.order_by(User.name).all()

print query2.order_by('name').all()

print query2.order_by(User.name.desc()).all()

print query2.order_by('name desc').all()

print session.query(User.id).order_by(User.name.desc(), User.id).all()

print query2.filter(User.id == 1).scalar() # 如果有记录,返回第一条记录的第一个元素

print session.query('id').select_from(User).filter('id = 1').scalar()

print query2.filter(User.id >1, User.name != 'a').scalar() # and

query3 = query2.filter(User.id >1) # 多次拼接的 filter 也是 and

query3 = query3.filter(User.name != 'a')

print query3.scalar()

print query2.filter(or_(User.id == 1, User.id == 2)).all() # or

print query2.filter(User.id.in_((1, 2))).all() # in

query4 = session.query(User.id)

print query4.filter(User.name == None).scalar()

print query4.filter('name is null').scalar()

print query4.filter(not_(User.name == None)).all() # not

print query4.filter(User.name != None).all()

print query4.count()

print session.query(func.count('*')).select_from(User).scalar()

print session.query(func.count('1')).select_from(User).scalar()

print session.query(func.count(User.id)).scalar()

print session.query(func.count('*')).filter(User.id >0).scalar() # filter() 中包含 User,因此不需要指定表

print session.query(func.count('*')).filter(User.name == 'a').limit(1).scalar() == 1 # 可以用 limit() 限制 count() 的返回数

print session.query(func.sum(User.id)).scalar()

print session.query(func.now()).scalar() # func 后可以跟任意函数名,只要该数据库支持

print session.query(func.current_timestamp()).scalar()

print session.query(func.md5(User.name)).filter(User.id == 1).scalar()

query.filter(User.id == 1).update({User.name: 'c'})

user = query.get(1)

print user.name

user.name = 'd'

session.flush() # 写数据库,但并不提交

print query.get(1).name

session.delete(user)

session.flush()

print query.get(1)

session.rollback()

print query.get(1).name

query.filter(User.id == 1).delete()

session.commit()

print query.get(1)

一、皮的偏旁部首是皮,结构是单一结构,总笔画是5画。

二、基本字义

皮pí

1、动植物体表的一层组织:皮毛

2、兽皮或皮毛的制成品:裘皮。

3、包在外面的一层东西:封皮。书皮。

4、表面:地皮。

5、薄片状的东西:豆腐皮。

6、韧性大,不松脆:花生放皮了。

7、不老实,淘气:顽皮。

8、指橡胶:胶皮。皮球。

9、姓。

三、皮字的组词有皮尺 瓜皮 虾皮 皮带 皮包 皮毛 牛皮 面皮 橡皮 皮囊 赖皮 桂皮 顽皮 剥皮等。

扩展资料

一、字形演变

二、字源解说

文言版《说文解字》:皮,剥取兽革者谓之皮。从又,为省声。

白话版《说文解字》:皮,剥下兽皮叫皮。字形采用“又”作边旁,用省略式的“为”作声旁。

三、相关组词

1、单皮

[dān pí]

类似小鼓的一种单面蒙皮的打击乐器,戏曲演出时用来指挥其他乐器。

2、俏皮

[qiào pi]

容貌或装饰好看:长得挺~。

3、赖皮

[lài pí]

无赖的作风和行为:耍~。

4、皮带

[pí dài]

用皮革制成的带子,特指用皮革制成的腰带。

5、皮尺

[pí chǐ]

用漆布等做的卷尺。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7186724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存