แนะนำ SQL queries

Python เบื้องต้นสำหรับฐานข้อมูล

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

SQL Statements

  • เลือก แทรก อัปเดต และลบข้อมูล
  • สร้างและแก้ไขข้อมูล
Python เบื้องต้นสำหรับฐานข้อมูล

SQL querying เบื้องต้น

SELECT column_name FROM table_name

  • SELECT pop2008 FROM People
  • SELECT * FROM People
Python เบื้องต้นสำหรับฐานข้อมูล

SQL querying เบื้องต้น

from sqlalchemy import create_engine

engine = create_engine('sqlite:///census_nyc.sqlite')
connection = engine.connect()
stmt = 'SELECT * FROM people'
result_proxy = connection.execute(stmt)
results = result_proxy.fetchall()
Python เบื้องต้นสำหรับฐานข้อมูล

ResultProxy กับ ResultSet

result_proxy = connection.execute(stmt)

results = result_proxy.fetchall()
  • result_proxy คือ ResultProxy
  • results คือ ResultSet
Python เบื้องต้นสำหรับฐานข้อมูล

การใช้งาน ResultSets

first_row = results[0]
print(first_row)
('Illinois', 'M', 0, 89600, 95012)
print(first_row.keys())
['state', 'sex', 'age', 'pop2000', 'pop2008']
print(first_row.state)
'Illinois'
Python เบื้องต้นสำหรับฐานข้อมูล

SQLAlchemy สำหรับสร้าง queries

  • ให้วิธีสร้าง SQL statements แบบ Pythonic
  • ซ่อนความแตกต่างระหว่างฐานข้อมูล backend แต่ละประเภท
Python เบื้องต้นสำหรับฐานข้อมูล

การ query ด้วย SQLAlchemy

from sqlalchemy import Table, MetaData
metadata = MetaData()

census = Table('census', metadata, autoload=True, autoload_with=engine)
stmt = select([census])
results = connection.execute(stmt).fetchall()
Python เบื้องต้นสำหรับฐานข้อมูล

คำสั่ง select ใน SQLAlchemy

  • ต้องระบุ Tables หรือ Columns อย่างน้อยหนึ่งรายการ
  • การใช้ table จะเลือกทุกคอลัมน์ในตารางนั้น
stmt = select([census])

print(stmt)
'SELECT * from CENSUS'
Python เบื้องต้นสำหรับฐานข้อมูล

มาฝึกกันเถอะ!

Python เบื้องต้นสำหรับฐานข้อมูล

Preparing Video For Download...