zoukankan      html  css  js  c++  java
  • django操作mysql

     

    连接mysql

    1、安装pymysql

    操作指令 : pymsql: pip install pymysql 

    2、导入库

    在项目目录下的__init__.py文件中导入pymysql模块

    加入以下两行代码:

    import  pymysql

    pymysql.install_as_MySQLdb()

    3、在setting中的databases中配置mysql的连接

     'ENGINE': 'django.db.backends.mysql',       # 设置驱动

     'NAME':库名,                                                # 设置数据库名

    'USER':'root',                                                 # 设置用户名

    ‘PASSWORD':密码,                                       # 设置密码 

    'HOST':主机地址,                                          # 设置主机地址

    'PORT':3306,                                                 # 设置端口号

    4、执行迁移

    python manage.py makemigrations

    python manage.py  migrate

    5、连接mysql数据库

    点击database --- + -----data source ----数据库类型(如:mysql) ----- 设置 账号,密码,主机,(注意: 如果对mysql设置远程连接,

    要使用远程连接的账号密码) ----test connect ---- ok 即可 

    操作mysql

    1、创建一个表

    需要在model模块中创建一个类,该类继承models.Model

    例:

    1.  
      class Person(models.Model):
    2.  
      p_name = models.CharField(max_length=20, null=False, unique=True)
    3.  
      p_age = models.IntegerField(default=10)
    4.  
      p_sex = models.BooleanField(default=True)

    表名默认为 应用名_类名

    注:在右侧detabase处可以看到自己创建的表

    注:在创建的类中添加

    class Meta:     
            db_table = "表名"  修改表名

    可以修改创建的表的名字

    例:

    1.  
      class Person(models.Model):
    2.  
      p_name = models.CharField(max_length=20, null=False, unique=True)
    3.  
      p_age = models.IntegerField(default=10)
    4.  
      p_sex = models.BooleanField(default=True)
    5.  
       
    6.  
      class Meta:
    7.  
      db_table = "Person"

    修改完成后,执行迁移

    若要修改表的字段名,则更改定义的类中的属性之后迁移即可

    2、增加一个数据

    步骤:     

    ①.创建一个对象
    ②.设置属性
    ③.保存数据
    ④.对象名.save()

    例:

    1.  
      from django.shortcuts import render
    2.  
      from day02.models import Person
    3.  
      import random
    4.  
      # Create your views here.
    5.  
       
    6.  
      def insertPerson(request):
    7.  
      # 创建一个对象
    8.  
      person = Person()
    9.  
       
    10.  
      # 设置属性
    11.  
      person.p_name = "王" + str(random.randint(1, 100))
    12.  
      person.p_age = random.randint(1, 100)
    13.  
      person.p_sex = random.randint(0, 1)
    14.  
       
    15.  
      # 保存数据
    16.  
      person.save()

    设置url

    在项目的urls中添加 url("应用名",include("应用名.urls"))

    注:需import 应用名

    1.  
      from django.conf.urls import url, include
    2.  
      from django.contrib import admin
    3.  
      import day02
    4.  
       
    5.  
      urlpatterns = [
    6.  
      url(r'^admin/', admin.site.urls),
    7.  
      url(r'^day02/', include(day02.urls)),
    8.  
      ]

    注:须在应用的目录中创建一个urls.py文件,可以将项目中的urls中的内容复制过去

    1.  
      from django.conf.urls import url
    2.  
      from django.contrib import admin
    3.  
       
    4.  
       
    5.  
      urlpatterns = [
    6.  
      url(r'^admin/', admin.site.urls),
    7.  
       
    8.  
      ]

    在应用中的urls中添加路径

    1.  
      from django.conf.urls import url
    2.  
      from django.contrib import admin
    3.  
      from day02 import views
    4.  
       
    5.  
      urlpatterns = [
    6.  
      url(r'^admin/', admin.site.urls),
    7.  
      url(r'insertPerson', views.insertPerson),
    8.  
       
    9.  
      ]

    激活服务器,在浏览器中输入地址即可成功添加数据

    查看插入的表

    3、删除一个数据

    用变量获取匹配到的数据

    格式:变量.delete()      # 删除数据

    1.  
      def delPerson(request):
    2.  
      person = Person.objects.filter(p_name="王66").first() # 用变量person接收获取到的对象
    3.  
      person.delete()
    4.  
      return HttpResponse("删除成功")

    在应用的urls中添加路径

        url(r'delPerson',views.delPerson)
    

    激活服务器,并操作,

    成功删除

    4、修改数据

    格式:对象名.属性名 = 值
               对象名.save()

    例:首先插入一条数据

    修改数据的属性值

    1.  
      def updatePerson(request):
    2.  
      person = Person.objects.filter(p_name="王30").first()
    3.  
      person.p_name = "王小明"
    4.  
      person.p_age = 18
    5.  
      person.p_sex = 0
    6.  
      person.save()
    7.  
      return HttpResponse("修改成功")

    在urls中添加路径

        url(r'updatePerson', views.updatePerson),

    运行服务器

    修改成功

    5、查询数据

    格式: 类名.objects.方法

    例:多插入几条数据

    在应用的views中添加代码

    1.  
      def queryPerson(request):
    2.  
      persons = Person.objects.all()
    3.  
      return render(request, "Persons.html", context={"persons":persons})

    在templates中创建Persons.html文件

    1.  
      <!DOCTYPE html>
    2.  
      <html lang="en">
    3.  
      <head>
    4.  
      <meta charset="UTF-8">
    5.  
      <title>Title</title>
    6.  
      </head>
    7.  
      <body>
    8.  
       
    9.  
      <ul>
    10.  
      {% for person in persons %}
    11.  
      <li>name:{{ person.p_name }}  age:{{ person.p_age }}</li>
    12.  
      {% endfor %}
    13.  
       
    14.  
      </ul>
    15.  
       
    16.  
      </body>
    17.  
      </html>

    在urls中添加路径

    启动服务器

    成功查询表格中的数据

    注:这里只介绍了查询所有数据的方法

  • 相关阅读:
    配置数据同步
    NET移动设备开发
    计算两个日期之间的工作日数
    ActionScript3.0程序开发工具
    常用JS积累之获取节点高度(基于浏览器)
    推荐40个优秀的免费CSS工具
    #include语法
    CSS3属性boxshadow使用教程
    CSS元素背景透明
    js获取网页高度
  • 原文地址:https://www.cnblogs.com/mashuqi/p/10469436.html
Copyright © 2011-2022 走看看