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

启动服务器

成功查询表格中的数据

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

相关文章