Python 模型定义 :通过pymysql和数据模型(models.py)创建mysql表及表结构
时间: 2024-02-25 12:58:43 浏览: 122
MySQL数据库课程设计:Python医院管理系统源码.zip
首先需要安装 `pymysql` 模块,可以使用以下命令进行安装:
```
pip install pymysql
```
接下来,可以按照以下步骤使用 `pymysql` 和数据模型(models.py)创建 MySQL 表及表结构:
1. 在 `settings.py` 文件中配置数据库连接信息:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database_name',
'USER': 'database_user',
'PASSWORD': 'database_password',
'HOST': 'database_host',
'PORT': 'database_port',
}
}
```
2. 在 `models.py` 文件中定义数据模型:
```python
from django.db import models
class User(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
```
3. 在 `views.py` 文件中创建表结构:
```python
import pymysql
from django.conf import settings
from myapp.models import User
def create_table():
conn = pymysql.connect(
host=settings.DATABASES['default']['HOST'],
user=settings.DATABASES['default']['USER'],
password=settings.DATABASES['default']['PASSWORD'],
db=settings.DATABASES['default']['NAME'],
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
try:
with conn.cursor() as cursor:
# 创建 User 表
cursor.execute('''
CREATE TABLE IF NOT EXISTS `myapp_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
''')
conn.commit()
finally:
conn.close()
```
4. 调用 `create_table()` 函数创建表结构:
```python
create_table()
```
这样就可以使用 `pymysql` 和数据模型(models.py)创建 MySQL 表及表结构了。注意,以上代码只是示例,实际使用时需要根据实际情况修改配置信息和数据模型。
阅读全文