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()
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
|