mysql数据库

  • Django项目默认采用sqlite3数据库.
  • 但是Web项目首选的数据库是mysql数据库.
  • 所以我们需要修改Django项目默认的数据库为mysql数据库.

安装pymysql包

  • 提示:

    • pymysql包用于跟mysql数据库交互
    • 没有pymysql包会报错:Error loading MySQLdb module: No module named MySQLdb
  • 进入虚拟环境py3_django

      workon py3_django
    
  • 安装pymysql

      pip install pymysql
    
  • pymysql包安装路径

      ~/.virtualenvs/py3_django/lib/python3.5/site-packages
    
  • pymysql包配置

  • 没有pymysql包的错误信息

  • 安装pymysql包其他方式

    • 准备PyMySQL-0.7.11-py2.py3-none-any.whl文件

      pip install Desktop/PyMySQL-0.7.11-py2.py3-none-any.whl
      

配置项目mysql数据库

  • 默认配置

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.sqlite3',
              'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
          }
      }
    
  • 配置mysql数据库

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql', # 数据库引擎
              'NAME': 'Bookdb', # 数据库名称
              'HOST': 'localhost', # 数据库主机(建议使用主机真实IP)
              'PORT': '3306', # 数据库端口
              'USER': 'root', # 数据库用户名
              'PASSWORD': 'mysql', # 数据库密码
          }
      }
    

创建项目mysql数据库

  • 进入数据库操作

      mysql -uroot -p
      psd : mysql
    
  • 展示现有数据库 : 为项目创建数据库前

      show databases;
    

  • 为项目创建mysql类型的数据库

    • 数据库名字为 Bookdb
    • 此处的数据库名字Bookdb要和项目数据库配置中的NAME一致.
    • 需要指定中文编码格式为utf8

      create database Bookdb charset=utf8;
      

  • 使用项目数据库Bookdb

      use Bookdb;
    
  • 查看项目数据库Bookdb中所有的表

    • 当没有生成和执行迁移时,数据库中是没有表的
    • 数据库表不需要手动创建,只需要生成和执行迁移即可

      show tables;
      

  • 退出数据库操作

      control+d