python 3.7 配置mysql数据库

时间:2022-06-15 10:29:28

一. mysql驱动安装

1.mysqlclient(推荐使用)
    2.pymysql

二.django操作数据库
    
  1.django配置连接数据库
    
      settings.py -->Database

DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',
                'NAME': 'py_db',
                'USER': 'root',
                'PASSWORD': 'root',
                'HOST': '127.0.0.1',
                'PORT': '3308'
            }
        }

  2. 在django中操作数据库

   from django.db import
    
      方式一:
          原生sql语句

  方式二:
          ORM模型

三.ORM 模型 :
    
    1.新建项目

2.新建app

3.主urls.py中引入include

include('app.urls')

4.app下新建urls.py

from django.contrib import admin
        from django.urls import path

from front import views

app_name='front'

urlpatterns = [
            path('',views.index,name='index')
            
        ]

5.setting.py 中设置 数据库连接 INSTALLED_APPS 导入 app

  根据现有的数据库建立model
   python manage.py inspectdb
   把模型文件导入到app中
   创建一个app
   django-admin.py startapp app
   python manage.py inspectdb > app/models.py

6.models.py 定义模型
        
       定义模型
            class Book(models.Model):
                id不设置的话会自动生成
                id = models.AutoField(prinary_key=True)
                name = models.CharField(max_length = 100,null = False)
                author = models.CharField(max_length = 100,null = False)
                price = models.FloatField(null = False,default=0)

def __str__(self):
                    return '<Boook:({name},{author},{price})>'.format(name=self.name,author=self.author,price.self = price)

将模型映射到数据库
            python manage.py makemigrations
            python manage.py migrate

    注意:映射时可能出现的问题:

    django.db.utils.OperationalError: (1049, "Unknown database 'procrm'")
    未找到数据库,请先创建数据库:

      create database procrm;

四. ORM模型操作
    
            1.views 导入 模型
                from .models import 模型名称
                用法:

1.添加
                        xx = 模型(name='',。。。)
                        xx.save()
                    2.查询
                        根据主键查找
                            s = 模型.objects.get(pk=1) 获取单条数据(pk主键)
                        条件查询
                            s = 模型.object.filter(name = '')
                    3.删除
                        book = Book.objects.get(pk=1)
                        bpp.delete()    
                    4.修改
                        xx = 模型.objects.get(pk=1)
                        xx.字段 = 修改后的值
                        xx.save()

五.Django根据现有数据库,自动生成models模型文件

Django引入外部数据库还是比较方便的,步骤如下 :

创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致  
            运行下面代码可以自动生成models模型文件  
            Python manage.py inspectdb
            这样就可以在控制台的命令行中看到数据库的模型文件了

把模型文件导入到app中  
            创建一个app  
            django-admin.py startapp app
            python manage.py inspectdb > app/models.py
            ok模型文件已经生成好了。