连接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
例:
- class Person(models.Model):
- p_name = models.CharField(max_length= 20, null=False, unique=True)
- p_age = models.IntegerField(default= 10)
- p_sex = models.BooleanField(default= True)
表名默认为 应用名_类名
注:在右侧detabase处可以看到自己创建的表

注:在创建的类中添加
class Meta:
db_table = "表名" 修改表名
可以修改创建的表的名字
例:
- class Person(models.Model):
- p_name = models.CharField(max_length= 20, null=False, unique=True)
- p_age = models.IntegerField(default= 10)
- p_sex = models.BooleanField(default= True)
-
- class Meta:
- db_table = "Person"
修改完成后,执行迁移

若要修改表的字段名,则更改定义的类中的属性之后迁移即可
2、增加一个数据
步骤:
①.创建一个对象
②.设置属性
③.保存数据
④.对象名.save()
例:
- from django.shortcuts import render
- from day02.models import Person
- import random
- # Create your views here.
-
- def insertPerson(request):
- # 创建一个对象
- person = Person()
-
- # 设置属性
- person.p_name = "王" + str(random.randint(1, 100))
- person.p_age = random.randint( 1, 100)
- person.p_sex = random.randint( 0, 1)
-
- # 保存数据
- person.save()
设置url
在项目的urls中添加 url("应用名",include("应用名.urls"))
注:需import 应用名
- from django.conf.urls import url, include
- from django.contrib import admin
- import day02
-
- urlpatterns = [
- url( r‘^admin/‘, admin.site.urls),
- url( r‘^day02/‘, include(day02.urls)),
- ]
注:须在应用的目录中创建一个urls.py文件,可以将项目中的urls中的内容复制过去
- from django.conf.urls import url
- from django.contrib import admin
-
-
- urlpatterns = [
- url( r‘^admin/‘, admin.site.urls),
-
- ]
在应用中的urls中添加路径
- from django.conf.urls import url
- from django.contrib import admin
- from day02 import views
-
- urlpatterns = [
- url( r‘^admin/‘, admin.site.urls),
- url( r‘insertPerson‘, views.insertPerson),
-
- ]
激活服务器,在浏览器中输入地址即可成功添加数据

查看插入的表

3、删除一个数据
用变量获取匹配到的数据
格式:变量.delete() # 删除数据
- def delPerson(request):
- person = Person.objects.filter(p_name= "王66").first() # 用变量person接收获取到的对象
- person.delete()
- return HttpResponse("删除成功")
在应用的urls中添加路径
url(r‘delPerson‘,views.delPerson)
激活服务器,并操作,

成功删除

4、修改数据
格式:对象名.属性名 = 值
对象名.save()
例:首先插入一条数据

修改数据的属性值
- def updatePerson(request):
- person = Person.objects.filter(p_name= "王30").first()
- person.p_name = "王小明"
- person.p_age = 18
- person.p_sex = 0
- person.save()
- return HttpResponse("修改成功")
在urls中添加路径
url(r‘updatePerson‘, views.updatePerson),
运行服务器

修改成功

5、查询数据
格式: 类名.objects.方法
例:多插入几条数据

在应用的views中添加代码
- def queryPerson(request):
- persons = Person.objects.all()
- return render(request, "Persons.html", context={"persons":persons})
在templates中创建Persons.html文件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
-
- <ul>
- {% for person in persons %}
- <li>name:{{ person.p_name }} age:{{ person.p_age }}</li>
- {% endfor %}
-
- </ul>
-
- </body>
- </html>
在urls中添加路径
启动服务器

成功查询表格中的数据
注:这里只介绍了查询所有数据的方法