Skip to content

Commit 104c5ff

Browse files
committed
SQLAlchemy beginner tutorial
1 parent 0b695e4 commit 104c5ff

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

Programs/P80_SQLAlchemyTutorial.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Author: OMKAR PATHAK
2+
# This is a simple tutorial on usinng SQLAlchemy as ORM (Object Relational Mapping)
3+
4+
# Make sure you have installed SQLAlchemy using: pip3 install sqlalchemy
5+
6+
from sqlalchemy import (
7+
create_engine,
8+
Column,
9+
Integer,
10+
String
11+
)
12+
13+
from sqlalchemy.ext.declarative import declarative_base
14+
from sqlalchemy.orm import sessionmaker
15+
import os
16+
17+
18+
# create a sqlite db
19+
engine = create_engine('sqlite:///example.db', echo=True)
20+
Base = declarative_base()
21+
22+
23+
class Student(Base):
24+
__tablename__ = "student"
25+
26+
id = Column(Integer, primary_key=True)
27+
username = Column(String)
28+
firstname = Column(String)
29+
lastname = Column(String)
30+
university = Column(String)
31+
32+
def __init__(self, username, firstname, lastname, university):
33+
self.username = username
34+
self.firstname = firstname
35+
self.lastname = lastname
36+
self.university = university
37+
38+
39+
def create_tables():
40+
# create tables
41+
Base.metadata.create_all(engine)
42+
43+
44+
if __name__ == '__main__':
45+
sqlite_file = 'example.db'
46+
file_exists = os.path.isfile(sqlite_file)
47+
if not file_exists:
48+
create_tables()
49+
Session = sessionmaker(bind=engine)
50+
session = Session()
51+
52+
# Create objects
53+
user = Student('OmkarPathak', 'Omkar', 'Pathak', 'MIT')
54+
session.add(user)
55+
56+
# commit the record the database
57+
session.commit()
58+
59+
# Select objects
60+
for student in session.query(Student).order_by(Student.id):
61+
print (student.firstname, student.lastname)

Programs/example.db

8 KB
Binary file not shown.

0 commit comments

Comments
 (0)