相关内容
MySQL的安装
https://blog.csdn.net/qq_59636442/article/details/123058454
一、配置数据库(修改settings.py配置信息)
代码语言:javascript复制# 数据库配置
# 注释或删除默认的数据库(sqlite)配置
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
# }
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',# 数据库引擎
'NAME':'mydb',#数据库名字
'USER':'root',#用户名
'PASSWORD':'123456',#密码
'HOST':'127.0.0.1',# HOST
'PORT':'3306',#端口
'OPTIONS': {'charset':'utf8mb4'}, #打开数据库 编码格式 ——解决4字节表情无法储存问题
}
}
二、安装pymysql(数据库引擎)
(在终端执行如下命令)
代码语言:javascript复制pip3 install pymysql
三、models.py(数据模块,用于数据库设计)
1、创建一个用户表
代码语言:javascript复制from django.db import models
# 需要创建应用
# Create your models here.
# 数据表名 应用名_类名
class Users(models.Model):
uese_name = models.CharField('用户名',max_length=255,null=True)
phone_number = models.CharField('手机号',max_length=20)
password = models.CharField('密码',max_length=255)
register_date = models.DateTimeField('注册时间',auto_now_add=True)
#CharField和DateTimeField----数据类型
#max_length----最大长度
#auto_now_add----默认时间为创建时间
四、生成数据表(迁移文件)
1、生成迁移文件(在终端执行如下命令)
代码语言:javascript复制python3 manage.py makemigrations
2、执行迁移文件(在终端执行如下命令)
代码语言:javascript复制python3 manage.py migrate
五、增删改查
1、增加数据
代码语言:javascript复制#类名.objects.create(字段=值,字段=值)
Users.objects.create(uese_name="张三",
phone_number="888",
password = "123456")
2、删除数据
代码语言:javascript复制类名.objects.filter(字段=值).delete()
Users.objects.filter(phone_number="888").delete()
3、修改数据
代码语言:javascript复制#类名.objects.get(字段=值)
sql = Users.objects.get(phone_number="888")#在查不到不到会报错
sql.password = "8888888"
sql.save()#提交数据 只有提交后才会被修改
4、查询数据
获得单条数据
代码语言:javascript复制#类名.objects.get(字段=值)
sql = Users.objects.get(phone_number="888")#在查不到不到会报错
password = sql.password #获得查询结果的password
获得多条数据
代码语言:javascript复制#类名.objects.filter(字段=值)
sql = Users.objects.filter(uese_name="张三")
#获得每一条查询结果的phone_number
for i in sql:
print(i.phone_number)
获得全部数据
代码语言:javascript复制#类名.objects.all()
sql = Users.objects.all()
#获得每一条查询结果的phone_number
for i in sql:
print(i.phone_number)
增加查询范围
代码语言:javascript复制#类名.objects.all()[开头:结束:步长]
#类名.objects.filter(uese_name="张三")[开头:结束:步长]
sql = Users.objects.all()[:10]#获取0-10条数据
#获得每一条查询结果的phone_number
for i in sql:
print(i.phone_number)