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

启动服务器

成功查询表格中的数据

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

原文地址:https://www.cnblogs.com/mashuqi/p/10469436.html

时间: 2024-07-29 03:43:53

django操作mysql的相关文章

Django 操作Mysql数据库

pip安装mysqlclient sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config sudo pip install mysqlclient 配置数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django', 'USER': 'root', 'PASSWORD': '123456', 'HOS

DJango操作MySQL数据库

增加:创建实例,并调用save 更新:a.获取实例,再sava:b.update(指定列) 删除:a. filter().delete(); b.all().delete() 获取:a. 单个=get(id=1) :b. 所有 = all() 过滤:filter(name='xxx');filter(name__contains='');(id__in = [1,2,3]) ;icontains(大 小写无关的LIKE),startswith和endswith, 还有range(SQLBETWE

Django 链接MySQL及数据操作

Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不会创建数据库,只会根据models.py中的模型类创建对应的表 2.在项目文件下的settings.py文件中,找到 DATABASES属性,配置MySQL相关参数 DATABASES = { 'default': { # 将数据库引擎修改成 mysql 'ENGINE': 'django.db.b

django使用mysql (本地环境下)

本博文事例使用的django版本是1.4.0(最近在使用sae,没办法,只好从1.7.1撤了回来).不过原理大概都是相仿的吧. django支持多种数据库管理工具,如mysql, postgresql, sqlite, 和oracle.其中sqlite是内置在python中的,所以如果使用sqlite的话,就不必进行相关配置,尽情地使用python来管理即可,当 然也就不用看本博文了. 本博文就以mysql为例,来演示 “本地环境下 (与云环境对应),django使用mysql的步骤”  (首先

Django中MySQL读写分离技术

最近需要用到Django的MySQL读写分离技术,查了一些资料,把方法整理了下来. 在Django里实现对MySQL的读写分离,实际上就是将不同的读写请求按一定的规则路由到不同的数据库上(可以是不同类型的数据库),我们需要做的就是,定义不同的数据库,定义不同的路由规则. 首先定义我们的主从数据库: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': sae.const.MYSQL_DB, 'USER':

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

之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有些有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经拥有一个django项目.已安装MySQLdb,进入mysql创建一个新的库(注意,这里必须是新的库,如果库里已经有表,就会出问题.) 修改配置项:打开已经创建好的django项目,在INSTALLED_APPS添加自己的工程名称.修改DATABASES项中配置的内容. INSTALLED_APPS

Django ajax MYSQL Highcharts&lt;1&gt;

Another small project with django/Ajax/Mysql/Highcharts. 看下效果图  - delivery dashboard .嘿嘿 是不是还蛮好看的. 废话不多说.在过程中遇到的问题总结: 1. Ajax URL 请求403 错误: 是由于CSRF(Cross-site request forgery跨站请求伪造请求保护)的原因.目前有三种方法 1.1 我使用的是@csrf_exempt加在相应的view前,但是这样不安全,是关闭csrf保护功能.

django连接mysql

这个问题已经出现了数次.每次带新人,会问,带老司机也会问.上周末,牛小妹也在问.今天早上,我就把这个操作过程总结下. 修改数据库连接 首先,在settings.py文件中,是不是有下图这么一段内容: 建立django工程的时候是自动创建的.这个是告诉你,django默认连接sqllite.ENGINE:是指连接数据库驱动的名称,NAME是指要连接什么库,什么文件.实际上,ENGINE有以下几种情况: django.db.backends.postgresql 连接 PostgreSQL djan

macOS下Django配置mysql,无法安装mysqlclient的问题

最近跟着学校与企业合作的课程学习了Django,再一次理解MVC,真是感慨良多,打算先记录一些问题,至于整个学习过程的记录这个坑等毕业论文搞掂后慢慢填上. 上课老师使用的环境是win32的python3.6.x和Django 2.x.我个人的环境是macOS High Sierra的python3.4.3和Django 2.x.DBMS使用mysql,配置数据库的时候遇到一些问题.主要的是无法安装mysqlclient这个py第三方库.开发环境都使用vscode. 从Django数据库配置过程说