pycharm+mysql+乱码_数据迁移混乱的解决方案与pycharm乱码问题+mysql数据库大小写敏感设置...

本文介绍了如何解决PyCharm中的乱码问题,包括在File-->settings中设置所有编码为UTF-8,以及处理MySQL数据库大小写敏感设置。在数据库迁移过程中,若数据混乱,建议删除重建,包括删除app下的文件、数据库中的表以及django_migrations中的相关记录,然后执行makemigrations和migrate命令进行迁移。
摘要由CSDN通过智能技术生成

如果数据库迁移数据混乱,需要删除进行重建,一般情况下线上环境不会遇到。步骤如下

1.删除项目app下所有的除去__init__.py的所有文件与目录。

6be5d221b61d10765a269f66470817b9.png

2.删除数据库中所有app项目的创建的表

60a393ef712a2d75f1c04e3b47cca5a7.png

3.删除所有django_migrations表中,所有与app项目相关的表(例如:teacher)

14f5c7dbd8ecfd3e8bb4d1b51390dca1.png

4.运行迁移数据库命令

python mange.py makemigrations teacher

5.运行migrate命令,使迁移生效

python manage.py migrate #(执行后,在数据库里能够查到表)

pycharm乱码问题解决方案:

将File-->setting下所有关于encoding的都设置为uft-8

d58dd412fd80e758e47fb8979c2ea864.png

第二个地方可以导致乱码的地方:

2a478b03a7e44ca433707320a5a910b5.png

mysql数据库大小写敏感设置

In [61]: Student.objects.all()

Out[61]: , , , , , , , , ]>In [62]: Student.objects.values('name').filter(name__exact='amie')

Out[62]: In [63]: res = Student.objects.values('name').filter(name__exact='amie')

In [64]: print(res.query)

SELECT `teacher_student`.`name` FROM `teacher_student` WHERE `teacher_student`.`name` = amie #这里代表不区分大小写

当数据库或者表排序规则为utf8_general_ci表示不区分大小写,使用utf8-bin是大小写敏感。

如果数据库的--->编辑数据库-->排序规则为:utf8_general_ci表示不区分大小写

数据表--->设计表-->选项-->排序规则为:utf8_general_ci表示不区分大小写

一般字段也可单独设置排序规则

4f061a19bb48861cf095eea859384627.png

f4bd7e45b4855f9b71a67e3dcdccaba5.png

contains区分大小写

In [65]: res = Student.objects.values('name').filter(name__contains='amie')

In [66]: print(res.query)

SELECT `teacher_student`.`name` FROM `teacher_student` WHERE `teacher_student`.`name` LIKE BINARY%amie% #有BINARY代表区分大小写

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值