Django自定义数据库查询功能(直接通过SQL语句查询)

Django自定义数据库查询功能(直接通过SQL语句查询)

一、mysql数据库安装配置(windows 7)

这里我使用的mysql5.7的版本,在安装好版本之后需要对mysql进行配置:

  • a). 打开cmd并进入mysql安装路径

  • b). 然后运行一下命令:mysqld –initialize-insecure –user=mysql 或者 mysqld –initialize (此时在安装目录下会有一个data目录出现)

  • c). 在安装包的目录下新建*my.ini文件,然后将以下内容复制到文件中,并对以下内容根据实际情况进行修改*

[mysqld]

port = 3306

basedir=G:\Program Files (x86)\MySQL\MySQL Server 5.7  #需要修改

datadir=G:\Program Files (x86)\MySQL\MySQL Server 5.7\data  #需要修改

max_connections=200

character-set-server=utf8

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


[mysql]

default-character-set=utf8
  • d). 重启mysql服务:
    命令:net stop mysql #停止mysql服务

命令:net start mysql #启动mysql服务

  • **e):使用mysql -uroot -p(跟设置的密码) 登录mysql

  • f). 登录进入后重置密码,命令如下:

update mysql.user set authentication_string=password(‘123456’),password_expired=’N’ where user=’root’;

(注意:1. 如果漏掉了mysql,应执行下use mysql;切换到该数据库下,应该user表在这个数据库下

  2. 修改密码并修改过时策略(字段名和mysql 5.6有些不同,5.6的命令为:update mysql.user set password = password('newpwd'),password_expired='N' where user = 'root';)
  • g).– 开启远程连接权限
    grant all on . to root@’%’ identified by ‘newpwd’ with grant option;
    flush privileges;

二、django配置:

   在我们项目中的settings.py文件,并配置相关项

这里写图片描述

内容如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  #此项不变
        'NAME': 'blog',   #设置的数据库名称
        'USER': 'root',   #mysql 的登录用户名
        'PASSWORD': 'root', #mysql的登录密码
        'HOST': '',   #默认为127.0.0.1
        'PORT': '',   #默认端口:3306
        'charset': 'utf8',
    }
}

MySQLdb在连接数据库时默认使用的MySQLdb驱动,因此将在所创建的项目文件下的_init.py中加入以下内容:

import pymysql
pymysql.install_as_MySQLdb()

这里写图片描述

到此数据库配置已大公告成啦。接下来就是自定义的sql查询了。

三、mysql自定义查询

1. 配置好前面两项目之后,我们就开始编写mysql自定义   
from django.db import connection
import os
import sys
projectpath = '/django/myweb'
if projectpath not in sys.path: sys.path.append(projectpath)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myweb.settings'

def sql_Result(sql):
    cur = connection.cursor()
    cur.execute(sql)
    result = cur.fetchone()
    return result

注:该处return result返回类型为 tulpe类型

在使用过程中调用该方法:

from blog.commom.configDB import *  #引入
ret_Name = sql_Result('select name from blog_user where email="{}"'.format('gggg@new.com'))[0]
print("mysql查询结果:{}".format(ret_Name))

查询结果:
这里写图片描述

后面在使用过程中只需要调用该方法就可以;

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值