Flask Sqlalchemy 增刪該查操作

2022-08-09 03:21:16 字數 2844 閱讀 1257

### sqlalchemy 增刪改查操作, 通過session來進行操作。

1

#coding:utf-82#

author: liangjun.34

from sqlalchemy import

create_engine, column, integer, string

5from sqlalchemy.ext.declarative import

declarative_base

6from sqlalchemy.orm import

sessionmaker

78 hostname = '

127.0.0.1

'9 port = 3306

10 database = '

sqlalchemy_first

'11 username = '

root

'12 password = '

123456'13

14 db_uri = '

mysql+pymysql://:@:/?charset=utf8

'.format(

15 username=username, password=password, host=hostname, port=port, dbname=database16)

17 engine =create_engine(db_uri)

18 base =declarative_base(engine)

19 session =sessionmaker(engine)

20 session =session()

212223#

建立orm模型

24class

person(base):

25__tablename__ = '

person

'26 id = column(integer, primary_key=true, autoincrement=true)

27 name = column(string(length=50))

28 age =column(integer)

2930

def__repr__

(self):

31return

"person

".format(self.name, self.age)

3233

34def

add_data():

35 p1 = person(name='

saber

', age=18)

36 p2 = person(name='

slamdunk

', age=18)37#

新增一條

38session.add(p1)39#

新增多條記錄

40session.add(p1, p2)

41session.commit()

4243

44def

update_data():

45 person =session.query(person).first()

46 person.name = '

saber007'47

session.commit()

4849

50def

search_data():51#

查詢所有

52 persons_1 =session.query(person).all()

53for person in

persons_1:

54print

person

5556

#filter_by

57 persons_2 = session.query(person).filter_by(name='

saber

').all()

58for _p in

persons_2:

59print

_p6061#

filter

62 persons_3 = session.query(person).filter(person.name == '

saber

').all()

63for _p in

persons_3:

64print

_p6566#

get67

#根據主鍵查詢, 如沒有則返回none

68 person = session.query(person).get(1)

69print

"---------------get------------------"70

print

person

7172

#first73#

獲取結果集中的第一條

74 person =session.query(person).first()

75print

person

7677

78def

delete_data():

79 person =session.query(person).first()

80session.delete(person)

81session.commit()

8283

if__name__ == "

__main__":

84#add_data()85#

search_data()86#

update_data()

87 delete_data()

Flask SQLAlchemy學習總結

配置鍵說明 sqlalchemy database uri 用於連線資料的資料庫。例如 sqlalchemy binds 乙個對映繫結 bind 鍵到 sqlalchemy 連線 uris 的字典。用於繫結多個資料庫 sqlalchemy echo 如果設定成 true sqlalchemy 將會記...

flask SQLAlchemy基本使用

作為資料的操作,最基本的就是增刪改查 常用的sqlalchemy查詢過濾器 過濾器說明 filter 把過濾器新增到原查詢上,返回乙個新查詢 filter by 把等值過濾器新增到原查詢上,返回乙個新查詢 limit 使用指定的值限定原查詢返回的結果 offset 偏移原查詢返回的結果,返回乙個新查...

Flask SQLAlchemy定義模型

模型表示程式使用的資料實體,在flask sqlalchemy中,模型一般是python類,繼承自db.model,db是sqlalchemy類的例項,代表程式使用的資料庫。類中的屬性對應資料庫表中的列。id為主鍵,是由flask sqlalchemy管理。db.column類建構函式的第乙個引數是...