python mysql设计表_python-mysql表设计

焦信鸥
2023-12-01

1、  数据库连接池

python的数据库连接池包 DBUtils:

DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。

DBUtils提供两种外部接口:

* PersistentDB :提供线程专用的数据库连接,并自动管理连接。

* PooledDB :提供线程间可共享的数据库连接,并自动管理连接。

下载地址:https://pypi.python.org/pypi/DBUtils/   下载解压后,使用python setup.py install 命令进行安装

或者

Pip install DBUtils

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# @Time    : 2017/9/18 22:46

# @Author  : lingxiangxiang

# @File    : demon4.py

import MySQLdb

from DBUtils.PooledDB import PooledDB

db_config = {

"host": "192.168.48.128",

"port": 3306,

"user": "xiang",

"passwd": "123456",

"db": "python",

"charset": "utf8"

}

pool = PooledDB(MySQLdb, 5, **db_config)  # 5为连接池里的最少连接数

conn = pool.connection()  # 以后每次需要数据库连接就是用connection()函数获取连接就好了

cur = conn.cursor()

SQL = "select * from tmp;"

r = cur.execute(SQL)

r = cur.fetchall()

print(r)

cur.close()

conn.close()

PooledDB的参数:

1. mincached,最少的空闲连接数,如果空闲连接数小于这个数,pool会创建一个新的连接

2. maxcached,最大的空闲连接数,如果空闲连接数大于这个数,pool会关闭空闲连接

3. maxconnections,最大的连接数,

4. blocking,当连接数达到最大的连接数时,在请求连接的时候,如果这个值是True,请求连接的程序会一直等待,直到当前连接数小于最大连接数,如果这个值是False,会报错,

5. maxshared 当连接数达到这个数,新请求的连接会分享已经分配出去的连接

2、  数据库表设计

Student

字段名

类型

是否为空

主键

描述

StdID

int

学生ID

StdName

varchar(100)

学生姓名

Gender

enum('M', 'F')

性别

Age

tinyint

年龄

Course

字段名

类型

是否为空

主键

描述

CouID

int

课程ID

Cname

varchar(50)

课程名字

TID

int

老师ID

Score

字段名

类型

是否为空

主键

描述

SID

int

分数ID

StdID

int

学生id

CouID

int

课程id

Grade

int

分数

Teacher

字段名

类型

是否为空

主键

描述

TID

int

老师ID

Tname

varcher(100)

老师名字

 类似资料: