2. 大白話:物件模型與資料庫表的對映
1. 用`declarative_base`根據`engine`建立乙個orm基類。
from sqlalchemy import create_engine,column,integer,string
from sqlalchemy.ext.declarative import declarative_base
hostname = '127.0.0.1'
port = '3306'
database = 'test_flask_learn'
username = 'root'
password = '123456'
# dialect+driver://username:password@host:port/database
db_uri = "mysql+pymysql://:@:/?charset=utf8".format(username=username,password=password,host=hostname,port=port,db=database)
engine = create_engine(db_uri)
base = declarative_base(engine)
2. 用這個`base`類作為基類來寫自己的orm類。要定義`__tablename__`類屬性,來指定這個模型對映到資料庫中的表名。
class person(base):
__tablename__ = 'person'
3. 建立屬性來對映到表中的字段,所有需要對映到表中的屬性都應該為column型別:
class person(base):
__tablename__ = 'person'
id = column(integer, primary_key=true, autoincrement=true)
name = column(string(50))
age = column(integer)
country = column(string(50))
4. 使用`base.metadata.create_all()`來將模型對映到資料庫中。
5. 一旦使用`base.metadata.create_all()`將模型對映到資料庫中後,即使改變了模型的字段,也不會重新映**。
完整**:
# encoding: utf-8
from sqlalchemy import create_engine, column, integer, string
from sqlalchemy.ext.declarative import declarative_base
hostname = '127.0.0.1'
port = '3306'
database = 'test_flask_learn'
username = 'root'
password = 'zhoubeijing130'
# dialect+driver://username:password@host:port/database
db_uri = "mysql+pymysql://:@:/?charset=utf8".format(username=username,
password=password,
host=hostname, port=port,
db=database)
engine = create_engine(db_uri)
base = declarative_base(engine)
# create table person(id int primary key autoincrement,name varchar(50),age int)
# 1. 建立乙個orm模型,這個orm模型必須繼承自sqlalchemy給我們提供好的基類
class person(base):
__tablename__ = 'person'
# 2. 在這個orm模型中建立一些屬性,來跟表中的字段進行一一對映。這些屬性必須是sqlalchemy給我們提供好的資料型別。
id = column(integer, primary_key=true, autoincrement=true)
name = column(string(50))
age = column(integer)
country = column(string(50))
# 3. 將建立好的orm模型,對映到資料庫中。
base.metadata.create_all()
23年的簡單回顧
有人說 往事不堪回首.我也常常這麼想,所以回首也要很大的勇氣。耳邊響起了姜育恆的 再回首 我曾經在幽幽暗暗反反覆覆中追問,才知道平平淡淡從從容容才是真,再回首恍然如夢,再回首我心依舊,只有那無盡的長路伴著我。每當我聽起這首歌,我都有一種想仔細做個回顧的衝動,但卻沒有這份勇氣.直到今天。簡單的說,稀里...
23種設計模式01 簡單工廠
一 設計模式的分類 總體來說設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 ...
(23)python集合的使用
集合是無序可變,元素不能重複。實際上,集合底層是字典實現,集合的所有元素都是字典中的 鍵物件 因此是不能重複的且唯一的。1.使用 建立集合物件,並使用 add 方法新增元素 a a a.add 9 a 2.使用 set 將列表 元組等可迭代物件轉成集合。如果原來資料存在重複資料,則只保留乙個。a a...