simple CURD of mysql for python
Project description
pythink
灵感来自于ThinkPHP 部分代码实现参考了 records
根据现有业务 实现了简单的增删改查, 可以用作日常助手
依赖:
SQLAlchemy>=1.2.8 ps:原来基于peewee实现的,不过问题较多,就直接用SQLAlchemy
安装
pip install pythink
快速开始
新建表
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT '',
`age` int(11),
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
代码示例
1、连接数据库,创建Model
# -*- coding: utf-8 -*-
from pythink import ThinkModel, ThinkDatabase
db_url = "mysql://root:123456@127.0.01:3306/demo"
db = ThinkDatabase(db_url)
class StudentThinkModel(ThinkModel):
table_name = "student"
database = db
2、插入操作
# 1、增加单条记录
data = {
"name": "Tom"
}
>>> StudentThinkModel.insert(data)
>>> 1
# 2、增加多条记录
data = [
{
"name": "Tom",
},
{
"name": "Jack"
}
]
>>> StudentThinkModel.insert(data)
>>> 2
# 3、插入多条 分段插入
data = [
{
"name": "Tom",
"age": 24,
},
{
"name": "Tom",
"age": 25,
},
{
"name": "Tom",
"age": 26,
},
{
"name": "Tom",
"age": 27,
},
{
"name": "Tom",
"age": 28,
},
{
"name": "Tom",
"age": 29,
}
]
# 每次插入3 条数据
>>> StudentThinkModel.insert(data, truncate=3)
>>> 6
3、查询操作
# 1、查询数量
>>> StudentThinkModel.count()
>>> 24
# 2、查询记录
rows = StudentThinkModel.select(["name", "age"], where="id>25", limit=5)
for row in rows:
print(row.name, row.age)
# ('Tom', 25L)
# ('Tom', 26L)
# ('Tom', 27L)
# ('Tom', 28L)
# ('Tom', 29L)
4、更新操作
# 条件更新
data = {
"name": "tom",
"age": 30
}
>>> StudentThinkModel.update(data, "id=25")
>>> 1
5、删除操作
# 删除
>>> StudentThinkModel.delete("id=13")
>>> 1
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
pythink-0.0.5.tar.gz
(9.6 kB
view details)
Built Distribution
pythink-0.0.5-py2-none-any.whl
(11.0 kB
view details)
File details
Details for the file pythink-0.0.5.tar.gz
.
File metadata
- Download URL: pythink-0.0.5.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.7 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
7649dd9898c99c4f915eafaaeae0531338d68e82daa4114a442d0c9f43e7ef02
|
|
MD5 |
afb59297bbd887091a9e22ecbf062509
|
|
BLAKE2b-256 |
cd0685de5b5cf2e1e9ce13dc968ad4715e0ff15e7b8c0348bb7b1ffcb38bd606
|
File details
Details for the file pythink-0.0.5-py2-none-any.whl
.
File metadata
- Download URL: pythink-0.0.5-py2-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.7 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
dfa2c94f7c8c69f99ef499954bad34f6c5b684f5960fa2c6e1d43b355f732bf2
|
|
MD5 |
0293bc6ddfc6772961c3acd96fd8379a
|
|
BLAKE2b-256 |
6e50cafbc2619e94c3f519ac3ca06d30a5a2d8689b0a5f0e14369fd6552fbf83
|