Simple asynchronous MySQL ORM class.
Project description
aio_ormsql
Simple asynchronous MySQL ORM class.
Easy install
pip3 install aio_ormsql
Required
pip3 install asyncio aiomysql
- Python 3.6+
Example usage
- Do imports:
from aio_ormsql.db import DataBase
from aio_ormsql.classes Table, Column, WHERE
Where:
DataBase
- class for working with MySQLTable
- class for creating a new tableColumn
- class for creating a columnsWHERE
- class for creating where statements
- Follow examples ans see their output:
Examples
Creating table
tbl = Table(
'tests',
Column('id', int),
Column('tname', str)
)
Connection to database
db = DataBase('admin', 'admin', 'tests')
await db.connect()
Simple WHERE statement
where = WHERE(
tbl.tname == 'admin'
)
print(where)
# Output:
# WHERE `tname`='admin'
Another WHERE statement
where2 = WHERE(
(tbl.id >= 20) | (tbl.tname == 'admin')
)
print(where2)
# Output:
# WHERE `id`>=20 OR `tname`='admin'
SELECT example
statement = await db.select(
[tbl.id, tbl.tname], where=where, table=tbl, back=True
)
print(statement)
# Output:
# SELECT DISTINCT `id`, `tname` FROM `tests` WHERE `tname`='admin'
SELECT example 2
statement2 = await db.select(
[tbl.id, tbl.tname], False, where2, table=tbl, back=True
)
print(statement2)
# Output:
# SELECT`id`, `tname` FROM `tests` WHERE `id`>=20 OR `tname`='admin'
INSERT example
statement3 = await db.insert(
{
tbl.id: 123,
tbl.tname: 'Johan'
},
tbl,
back=True
)
print(statement3)
# Output:
# INSERT INTO `tests` (`id`, `tname`) VALUES (123, 'Johan')
INSERT example 2
statement4 = await db.update(
{
tbl.id: '123',
tbl.tname: 'Admin'
},
WHERE(tbl.tname == 'Johan'),
tbl,
back=True
)
print(statement4)
# Output:
# UPDATE `tests` SET `id`=123, `tname`='Admin' WHERE `tname`='Johan'
Working with large DB
array = db.fetch_gen(await db.select(
[tbl.id, tbl.tname], back=True
))
async for item in array:
print('New pair:', item)
# And you can see row-by-row output
Closing connection and wait for completing tasks
await db.close()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aio_ormsql-0.0.5.tar.gz
(4.7 kB
view details)
File details
Details for the file aio_ormsql-0.0.5.tar.gz
.
File metadata
- Download URL: aio_ormsql-0.0.5.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93380358dbb502c599367f68a99d6aef4974ecbd296bd95e2b8951ca160219f5 |
|
MD5 | 78edc3e200b5923e228eb4655e9a2311 |
|
BLAKE2b-256 | 6df39979f047351c503f531ae392f6e486bce23a7f3ebae960a2cc0f378553b9 |