python

超轻量级php框架startmvc

django连接mysql数据库及建表操作实例详解

更新时间:2020-08-13 01:06:01 作者:startmvc
本文实例讲述了django连接mysql数据库及建表操作。分享给大家供大家参考,具体如下:django

本文实例讲述了django连接mysql数据库及建表操作。分享给大家供大家参考,具体如下:

django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西


import pymysql
pymysql.install_as_MySQLdb()

找到settIngs里面的database设置如下


DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 's22', #连接的库名,这个要事先存在
 'HOST':"127.0.0.1",
 'PORT':3306,
 'USER':"root",
 'PASSWORD':"123", #这里要用引号
 }
}

下面是静态文件路径的修改


#静态文件位置比如用来存放 bootstrap样式,jquery-3.3.1.min.js
STATIC_URL = '/static/'
STATICFILES_DIRS=[
 os.path.join(BASE_DIR,"static"),
 os.path.join(BASE_DIR,"static99"),
]


然后创建一个应用app01,在pycharm的terminal下面

我的project是test1


G:\study\day18\test1> python manage.py startapp app01

告诉django有哪些app,settIngs.py里面设置,加入到最后一行,注意:如果是在创建project的同时写了Application name,它会自动加入到这里面


INSTALLED_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'app01.apps.App01Config', #你在命令行创建app时要注意添加
]

在app01下的models.py中写类

它操作的对应关系是:

ORM 对象关系映射 类        表 对象      记录 属性      字段

在app01的modles.py里面写入,创建类


from django.db import models
# Create your models here.
class Book(models.Model):
 # 定义一个自增的id主键
 id = models.AutoField(primary_key=True)
 # 定义一个最大长度为32的varchar字段
 title = models.CharField(max_length=32)

在terminal上面执行下面两条命令


python manage.py makemigrations #检测app/models.py文件的改动
python manage.py migrate #把上面的改动翻译成sql语句,然后去数据库中执行


好了,我们登陆mysql查看结果


mysql> show tables;
+----------------------------+
| Tables_in_s22 |
+----------------------------+
| app01_book |
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+----------------------------+
11 rows in set (0.00 sec)

如果要删除app01_book表,modles.py里面的相关联东西就可以了,之后执行


models.py

#class Book(models.Model):
# # 定义一个自增的id主键
# id = models.AutoField(primary_key=True)
# # 定义一个最大长度为32的varchar字段
# title = models.CharField(max_length=32)

接着执行


python manage.py makemigrations
python manage.py migrate

在 app01的migrations下面放的是改动的记录,不能登陆到数据库上面直接操作,否则这些记录会变乱

如果想在pycharm里面直观的操作如下图

1 点击侧栏的 database 2 点击+ 选择mysql 3 点击download下载相关的驱动 4 库   5 用户名    6 密码      ---》点击test connection测试数据库的连通性

具体操作如下

说明: 1 点击要操作的表 2 点击+ 表示要加入记录,- 表示删除 3 点击 ⬆同步道数据库 4 刷新,查看新的记录

总结:diango操作mysql数据库的准备工作

1 用sql语句建个数据库,也就是命令登陆MySQL 使用create s22

2 告诉django去哪里连接数据库   在settIngs.py中设置

3 告诉django使用pymysql连接MySQL数据库  project/__init__.py

4 在app/models.py文件中,根据语法,创建类

5执行两个命令:makemigrations   migrate

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

django 连接mysql数据库 建表