commit
22414e979e
4 changed files with 140 additions and 0 deletions
@ -0,0 +1,16 @@ |
|||||||
|
# This is a sample Python script. |
||||||
|
|
||||||
|
# Press Shift+F10 to execute it or replace it with your code. |
||||||
|
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. |
||||||
|
|
||||||
|
|
||||||
|
def print_hi(name): |
||||||
|
# Use a breakpoint in the code line below to debug your script. |
||||||
|
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint. |
||||||
|
|
||||||
|
|
||||||
|
# Press the green button in the gutter to run the script. |
||||||
|
if __name__ == '__main__': |
||||||
|
print_hi('PyCharm') |
||||||
|
|
||||||
|
# See PyCharm help at https://www.jetbrains.com/help/pycharm/ |
@ -0,0 +1,41 @@ |
|||||||
|
from datetime import datetime |
||||||
|
from sqlalchemy import (MetaData, Table, Column, Integer, Numeric, String, Boolean, DateTime, ForeignKey, create_engine) |
||||||
|
|
||||||
|
metadata = MetaData() |
||||||
|
|
||||||
|
cookies = Table('cookies', metadata, |
||||||
|
Column('cookie_id', Integer(), primary_key=True), |
||||||
|
Column('cookie_name', String(50), index=True), |
||||||
|
Column('cookie_recipe_url', String(255)), |
||||||
|
Column('cookie_sku', String(55)), |
||||||
|
Column('quantity', Integer()), |
||||||
|
Column('unit_cost', Numeric(12, 2)) |
||||||
|
) |
||||||
|
users = Table('users', metadata, |
||||||
|
Column('user_id', Integer(), primary_key=True), |
||||||
|
Column('customer_number', Integer(), autoincrement=True), |
||||||
|
Column('username', String(15), nullable=False, unique=True), |
||||||
|
Column('email_address', String(255), nullable=False), |
||||||
|
Column('phone', String(20), nullable=False), |
||||||
|
Column('password', String(25), nullable=False), |
||||||
|
Column('created_on', DateTime(), default=datetime.now), |
||||||
|
Column('updated_on', DateTime(), default=datetime.now, onupdate=datetime.now) |
||||||
|
) |
||||||
|
orders = Table('orders', metadata, |
||||||
|
Column('order_id', Integer(), primary_key=True), |
||||||
|
Column('user_id', ForeignKey('users.user_id')), |
||||||
|
Column('shipped', Boolean(), default=False) |
||||||
|
) |
||||||
|
line_items = Table('line_items', metadata, |
||||||
|
Column('line_items_id', Integer(), primary_key=True), |
||||||
|
Column('order_id', ForeignKey('orders.order_id')), |
||||||
|
Column('cookie_id', ForeignKey('cookies.cookie_id')), |
||||||
|
Column('quantity', Integer()), |
||||||
|
Column('extended_cost', Numeric(12, 2)) |
||||||
|
) |
||||||
|
|
||||||
|
DB_URI = "mysql+pymysql://root:Sxzgx1209@home.rogersun.cn:3306/orm_sqlalchemy" |
||||||
|
|
||||||
|
engine = create_engine(DB_URI, echo=True) |
||||||
|
metadata.create_all(engine) |
||||||
|
connection = engine.connect() |
@ -0,0 +1,22 @@ |
|||||||
|
from sqlalchemy import select |
||||||
|
from s1_models import * |
||||||
|
|
||||||
|
# 方法1 |
||||||
|
s1 = select([cookies]) # 2.0废弃 |
||||||
|
rp1 = connection.execute(s1) |
||||||
|
results1 = rp1.fetchall() |
||||||
|
print(results1) |
||||||
|
|
||||||
|
# 方法2 |
||||||
|
s2 = cookies.select() |
||||||
|
str(s2) |
||||||
|
rp2 = connection.execute(s2) |
||||||
|
results2 = rp2.fetchall() |
||||||
|
print(results2) |
||||||
|
print(results2[0]) |
||||||
|
first_row = results2[0] |
||||||
|
print(first_row[1]) |
||||||
|
print(first_row.cookie_name) |
||||||
|
print(first_row[cookies.c.cookie_name]) |
||||||
|
results3 = rp2.scalar() |
||||||
|
print(results3) |
@ -0,0 +1,61 @@ |
|||||||
|
from s1_models import * |
||||||
|
from sqlalchemy import insert |
||||||
|
|
||||||
|
# 方式1 |
||||||
|
ins1 = cookies.insert().values( |
||||||
|
cookie_name="chocolate chip", |
||||||
|
cookie_recipe_url="http://some.aweso.me/cookie/recipe.html", |
||||||
|
cookie_sku="CC01", |
||||||
|
quantity="12", |
||||||
|
unit_cost="0.50" |
||||||
|
) |
||||||
|
|
||||||
|
# 方式2 |
||||||
|
ins2 = insert(cookies).values( |
||||||
|
cookie_name="chocolate chip", |
||||||
|
cookie_recipe_url="http://some.aweso.me/cookie/recipe.html", |
||||||
|
cookie_sku="CC01", |
||||||
|
quantity="12", |
||||||
|
unit_cost="0.50" |
||||||
|
) |
||||||
|
# 打印 INSERT 语句的结构,不包含数据 |
||||||
|
print(str(ins1)) |
||||||
|
# 打印插入的数据 |
||||||
|
print(ins1.compile().params) |
||||||
|
# 执行插入 |
||||||
|
# result1 = connection.execute(ins1) |
||||||
|
|
||||||
|
# print(result1.inserted_primary_key) |
||||||
|
|
||||||
|
# 方式3 |
||||||
|
ins3 = cookies.insert() |
||||||
|
result3 = connection.execute( |
||||||
|
ins3, |
||||||
|
cookie_name="dark chocolate chip1", |
||||||
|
cookie_recipe_url="http://some.aweso.me/cookie/recipe_dark.html", |
||||||
|
cookie_sku="CC02", |
||||||
|
quantity="1", |
||||||
|
unit_cost="0.75" |
||||||
|
) |
||||||
|
# print(result3.inserted_primary_key) |
||||||
|
|
||||||
|
ins4 = cookies.insert() |
||||||
|
inventory_list = [ |
||||||
|
{ |
||||||
|
'cookie_name': 'peanut butter', |
||||||
|
'cookie_recipe_url': 'http://some.aweso.me/cookie/peanut.html', |
||||||
|
'cookie_sku': 'PB01', |
||||||
|
'quantity': '24', |
||||||
|
'unit_cost': '0.25' |
||||||
|
}, |
||||||
|
{ |
||||||
|
'cookie_name': 'oatmeal raisin', |
||||||
|
'cookie_recipe_url': 'http://some.okay.me/cookie/raisin.html', |
||||||
|
'cookie_sku': 'EWW01', |
||||||
|
'quantity': '100', |
||||||
|
'unit_cost': '1.00' |
||||||
|
} |
||||||
|
] |
||||||
|
|
||||||
|
result4 = connection.execute(ins4, inventory_list) |
||||||
|
print(result4.inserted_primary_key_rows) |
Loading…
Reference in new issue