连接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中添加路径

启动服务器

成功查询表格中的数据

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

django操作mysql的更多相关文章

  1. Django静态文件配置 request对象 Django操作MySQL

    Django中的文件介绍 render.HttpResponse和redirect 当我们想起手写一个项目,创建好应用并且注册之后,在urls.py文件先导入app文件夹下migrations下的vi ...

  2. Django 操作Mysql数据库

    pip安装mysqlclient sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config sudo pip i ...

  3. django MVC模式 数据库的操作mysql

    介绍:本节课我们继续学习djangoWEB框架的开发,这节课主要是学习如何访问数据库,django如何自动为我们创建好表结构等相关内容. 1.首先我们打开settings.py找到DATABASES关 ...

  4. django连接mysql数据库以及建表操作

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

  5. Django之mysql表单操作

    在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增.删.改.查. 1. 添加表记录 class UserInfo(models.Mo ...

  6. Django 链接MySQL及数据操作

    Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...

  7. python——django使用mysql数据库(二)

    上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...

  8. python——django使用mysql数据库(一)

    之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...

  9. Django ajax MYSQL Highcharts<1>

    Another small project with django/Ajax/Mysql/Highcharts. 看下效果图  - delivery dashboard .嘿嘿 是不是还蛮好看的. 废 ...

随机推荐

  1. idea中copyright使用

    1,在idea中找到settings->Editor->copyright->copyright profiles,然后点击+,输入名字,在copyright text中输入模板.然 ...

  2. DELPHI XE MYSQL数据库操作类 MYSQLHELPER

    注: 无需odbc配置 {* * MySQL Helper v1.0 * 2015.6.19 * 说明: * 这是一个操作MySQL的类,该类必须和libmysql.dll,dbxmys.dll两个文 ...

  3. js文档系统-jsdoc-docdash

    一.参考文档 模版:https://github.com/clenemt/docdash 例子:http://clenemt.github.io/docdash/index.html jsdoc:ht ...

  4. 常见问题:MySQL/排序

    MySQL的排序分为两种,通过排序操作和按索引扫描排序. 按索引顺序扫描是一种很高效的方式,但使用的条件较为严格,只有orderby语句使用索引最左前列,或where语句与orderby语句条件列组合 ...

  5. laravel 为Eloquent 模型添加replace 和insert ignore 查询功能

    安装:composer require jdavidbakr/replaceable-model 在模型里引入: class model extends Model { ... use \jdavid ...

  6. Linux 线程实现机制分析(转载)

    自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性.效率.本文从线程模型入手,通过分析目前 Linux 平台上最流行的 LinuxThreads ...

  7. 简单实现SpringBoot启动

    一.准备: IDEA 使用简单手写导包实现spring boot,未使用idea自带的spring创建方法 可以更加简单理解springboot启动过程 二.开始 1.打开idea创建project ...

  8. C++ enable_if 模板特化实例(函数返回值特化、函数参数特化、模板参数特化、模板重载)

    1. enable_if 原理 关于 enable_if 原理这里就不细说了,网上有很多,可以参考如下教程,这里只讲解用法实例,涵盖常规使用全部方法. 文章1 文章2 文章3 1. 所需头文件 #in ...

  9. 修改织梦DedeCMS投票漏洞

    织梦/dedecms系统我们都知道是有很多漏洞的,我在调试投票功能的时候正好要用到投票功能,这不就出现了漏洞,下面我就给大家展示如何修复这个织梦投票漏洞 首先我们打开//dedevote.class. ...

  10. 别再裸奔了,你的项目代码安全吗,再不加密就out了

    在工作中,有时候我们需要部署自己的Python代码 或进行私有化部署时,尤其现在都是通过docker镜像部署,我们并不希望别人能够看到自己的Python源程序. 加密Python源代码的方式,是将.p ...