Skip to main content

connect to database

Project description

database操作(支持 mysql sqlite)

使用教程

下载

pip install pydb3

创建连接

'''默认为sqlite'''
db=Db()
'''连接Sqlite'''
db=Db(file_path='D:\\db\\test.sqlite')
'''连接Mysql'''
db = Db('mysql', host='localhost', port='3306', user='root', database='db', password='123456')

创建表

from pydb3.db import Db
from pydb3.model import Integer, VarChar, Model, Image, Date, DateTime

'''定义模型'''


class Student(Model):
    name = VarChar(length=12, null=False, primary=False, comment="姓名")
    age = Integer(length=2, null=False, default=18, comment="年龄")
    score = Integer(length=11, null=False, default=10, comment="分数")
    mark = Integer(length=12, default=0, auto=True, null=False, primary=True, comment="标签")
    date = Date(length=12, default=0, null=False, auto=True, primary=False, comment='日期')
    image = Image(comment='图片')
    create_time = DateTime(default=None, null=False, auto=True, comment="时间")

    def __init__(self, name='test', age=None, mark=None, date=None, create_time=None, image=None):
        self.name = name
        self.age = age
        self.mark = mark
        self.date = date
        self.create_time = create_time
        self.image = image


if __name__ == '__main__':
    # 设置数据源
    db = Db()
    Student.set_db(db)
    s = Student()
    # 创建表
    s.create_table()
    # 从网页下载图片
    s.image = 'url=图片链接'
    # 从数据库中下载图片到本地
    s.image = 'path=保持路径'
    # 将对象相应属性保持对数据库
    s.save()

新增数据

db = Db()
datas = [None, '小明', 12]
'''相当于 insert into table values(NULL,'小明',12)'''
db.insert('table', datas).execute()

查询

db = Db()
'''相当于 select * from table where name=1 and age=1 limit 0,100'''
db.select("table").where(name=1).and_(age=1)[0:100].execute()
'''相当于 select * from table where name=1 and address like '%北京%'''
db.select("table").where(name=1, age=12).like(address='北京').execute()
'''相当于 select Count(*) from table'''
db.select('table').count().execute()
'''相当于 select name from table group by name having name='test' '''
db.select('table', 'name').group_by('name').having(name='test').execute()
'''相当于 select * from student join class on student.id=class.stu_id'''
db.select('student').join('class', id='stu_id').execute()

更新

db = Db()
'''相当于 update table  set name='李白' where name=1 and age=1 limit 0,100'''
db.update("table", name='李白').where(name=1).and_(age=1)[0:100].execute()

删除

db = Db()
'''相当于 delete from table where a=1'''
db.delete('table').where(a=1).execute()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydb3-0.0.6.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

pydb3-0.0.6-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file pydb3-0.0.6.tar.gz.

File metadata

  • Download URL: pydb3-0.0.6.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for pydb3-0.0.6.tar.gz
Algorithm Hash digest
SHA256 b139fff3a25f5b678ffcf2224287433628d93c1c8ef3c95c472b15342b463c2c
MD5 0de165c4b666dc276515d490ac899d7e
BLAKE2b-256 23037ecd68cf7aa03b70b2a06462ba3c1c0baf575783d13570aef2760a74371b

See more details on using hashes here.

File details

Details for the file pydb3-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: pydb3-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for pydb3-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 11380cf96a360cdfbe674dc9e679a464cd9ef236523bf51fa8dcd3a8384ece13
MD5 f57c9cd68dfab4173a5bf70237289606
BLAKE2b-256 119ee9989c462de9f9367ca17da09721e9810af7221c8a240b276f7be6de0cae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page