{ "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 \"\" % (\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=, primary_key=True, nullable=False), Column('name', String(), table=), Column('fullname', String(), table=), Column('nickname', String(), table=), 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 }