> pip install mysqlclient
# 创建数据库
> create database Demo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
>
> # 展示数据库
> show databases;
在 settings.py 中,配置 Oracle 的连接串
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 不做修改
'NAME': 'demo', # 数据库名
'USER': 'root', # 用户名
'PASSWORD': '12345', # 密码
'HOST': '127.0.0.1', # 主机
'PORT': '3306', # 端口号(默认)
}
}
扩展:
Django 也支持其它数据库:官方文档:https://docs.djangoproject.com/zh-hans/3.2/ref/databases/
注意:
① 该类可重复执行
② 若类中的字段存在变更,则数据库表中的字段也同步变更
③ 若该类删除,则数据库中的表也同步删除
settings.py 中:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config' # 注册项目
]
models.py 中:
from django.db import models
# 参数 models.Model 固定
class UserInfo(models.Model):
name = models.CharField(max_length=32)
password = models.CharField(max_length=64)
age = models.IntegerField()
终端中依次执行命令:数据库迁移,同步表结构!
> python manage.py makemigrations
> python manage.py migrate
可选,创建管理员
python manage.py createsuperuser
查询表:
mysql> use demo;
mysql> desc app01_userinfo;
views.py:
from django.shortcuts import render, HttpResponse
from app01.models import UserInfo
# Create your views here.
def orm(request):
# 1.添加数据
UserInfo.objects.create(name="张三", password=123, age=18)
UserInfo.objects.create(name="李四", password=456, age=20)
UserInfo.objects.create(name="王五", password=789, age=22)
# 2.删除数据
UserInfo.objects.filter(id=3).delete() # 删除单条数据
# UserInfo.objects.all().delete() # 删除全部数据
# 3.获取数据
data_list = UserInfo.objects.all() # return QuerySet 类型数据
for obj in data_list:
print(obj.id, obj.name, obj.password, obj.age)
row_obj = UserInfo.objects.filter(id=1).first()
print(row_obj.id, row_obj.name, row_obj.password, row_obj.age)
# 4.更新数据
UserInfo.objects.filter(id=1).update(age=30)
return HttpResponse("成功")
urls.py:
from django.urls import path
from app01 import views
urlpatterns = [
# path('admin/', admin.site.urls),
# ORM 测试
path('orm/', views.orm)
]
【第一步:登录 mysql,查看 ssl 开启情况】
C:\Users\Administrator>mysql -u root -p
Enter password: *****
mysql> show variables like '%ssl%';