zoukankan      html  css  js  c++  java
  • 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:studyday18	est1> 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

  • 相关阅读:
    ip地址和子网掩码
    Mysql 进阶查询 (select 语句的高级用法)
    MHA高可用配置及故障切换
    数据库的备份与恢复需要修改
    每天一分钟,了解mysql索引,事务与存储引擎
    mysql基础命令详解
    带你走进mysql数据库
    Spring XML无自动提示
    Spring环境搭建错误
    读书笔记_java设计模式深入研究 第十一章 装饰器模式 Decorator
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/9700304.html
Copyright © 2011-2022 走看看