176 lines
4.4 KiB
Plaintext
176 lines
4.4 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'1.3.21'"
|
|
]
|
|
},
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"import sqlalchemy\n",
|
|
"sqlalchemy.__version__ "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sqlalchemy import create_engine\n",
|
|
"engine = create_engine('sqlite:///:memory:', echo=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sqlalchemy.ext.declarative import declarative_base\n",
|
|
"Base = declarative_base()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sqlalchemy import Column, Integer, String\n",
|
|
"class User(Base):\n",
|
|
" __tablename__ = 'users'\n",
|
|
"\n",
|
|
" id = Column(Integer, primary_key=True)\n",
|
|
" name = Column(String)\n",
|
|
" fullname = Column(String)\n",
|
|
" nickname = Column(String)\n",
|
|
"\n",
|
|
" def __repr__(self):\n",
|
|
" return \"<User(name='%s', fullname='%s', nickname='%s')>\" % (\n",
|
|
" self.name, self.fullname, self.nickname)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Table('users', MetaData(bind=None), Column('id', Integer(), table=<users>, primary_key=True, nullable=False), Column('name', String(), table=<users>), Column('fullname', String(), table=<users>), Column('nickname', String(), table=<users>), schema=None)"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"User.__table__ "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"2020-12-24 16:40:37,230 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1\n",
|
|
"2020-12-24 16:40:37,236 INFO sqlalchemy.engine.base.Engine ()\n",
|
|
"2020-12-24 16:40:37,239 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1\n",
|
|
"2020-12-24 16:40:37,240 INFO sqlalchemy.engine.base.Engine ()\n",
|
|
"2020-12-24 16:40:37,242 INFO sqlalchemy.engine.base.Engine PRAGMA main.table_info(\"users\")\n",
|
|
"2020-12-24 16:40:37,242 INFO sqlalchemy.engine.base.Engine ()\n",
|
|
"2020-12-24 16:40:37,244 INFO sqlalchemy.engine.base.Engine PRAGMA temp.table_info(\"users\")\n",
|
|
"2020-12-24 16:40:37,245 INFO sqlalchemy.engine.base.Engine ()\n",
|
|
"2020-12-24 16:40:37,246 INFO sqlalchemy.engine.base.Engine \n",
|
|
"CREATE TABLE users (\n",
|
|
"\tid INTEGER NOT NULL, \n",
|
|
"\tname VARCHAR, \n",
|
|
"\tfullname VARCHAR, \n",
|
|
"\tnickname VARCHAR, \n",
|
|
"\tPRIMARY KEY (id)\n",
|
|
")\n",
|
|
"\n",
|
|
"\n",
|
|
"2020-12-24 16:40:37,247 INFO sqlalchemy.engine.base.Engine ()\n",
|
|
"2020-12-24 16:40:37,248 INFO sqlalchemy.engine.base.Engine COMMIT\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"Base.metadata.create_all(engine)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"ed\n",
|
|
"edsnickname\n",
|
|
"None\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"ed_user = User(name='ed', fullname='Ed Jones', nickname='edsnickname')\n",
|
|
"print(ed_user.name)\n",
|
|
"print(ed_user.nickname)\n",
|
|
"print(str(ed_user.id))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sqlalchemy.orm import sessionmaker\n",
|
|
"Session = sessionmaker(bind=engine)\n",
|
|
"session = Session()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.9.1"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|