Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库。

准备的软件
mysql数据库,版本5.7及以上。
navicat,(可选的)。使用navicat主要是简化我们对数据库的操作。没有也一样。
安装mysql驱动程序。
常见的驱动程序:
a. MySQL-python:也就是MySQLdb,是对c语言操作数据库的一个简单封装。遵循了Python DB API v2,但是只支持python2,目前还不支持python3.
b. mysqlclient:是MySQL-python的另外一个分支,支持python3并且修复了一些bug。(分支就是在原来的基础上做了一些修改,但本质上还是MySQL-python。最大的一个改动就是可以支持python3。)
c. pymysql:纯python实现的一个驱动,因为是纯python编写的,因此效率不如MySQL-python,并且也是因为是纯python编写的,因此可以和python无缝衔接。
d. MySQL Connecter/Python:MySQL官方推出的使用纯python连接MySQL的驱动。因为是纯python开发的,效率也不高,但能无缝衔接。
还有很多就不介绍了。
因为我使用的时python3,所以我使用的是mysqlclient。

安装驱动的方式:

pip install mysqlclient

Django中连接MySQL数据库
在项目中的settings.py文件中,修改DATABASES这个字典中的数据:
原来的代码为

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

修改为

DATABASES = {
'default': {
#数据库引擎
'ENGINE': 'django.db.backends.mysql',
#数据库的名字
'NAME': 'drug',
#连接数据库的用户名
'USER': 'root',
#连接数据库的密码(下载mysql时配置的密码)
'PASSWORD': 'root',
#数据库的主机地址
'HOST':'127.0.0.1',
#数据库的端口号,默认为3306,也可以不写这一行代码
'PORT':'3306'
}
}

这样就能连接到数据库了,就能对数据库进行操作了。

在Django中操作数据库
在Django中操作数据库的方式有两种,第一种就是使用原生sql语句操作,第二种就是使用ORM模型来操作。

原生sql语句操作数据库
首先使用navicat连接了mysql数据库,新建一个test的数据库。然后在test中新建一个book的表,有三个值id(主键,自动增长),name,author。
如果没有navicat的就是用sql语句创建上述信息。

新建一个项目,配置好settings.py中的信息并且能连接上数据库,

django-admin startproject drug

新建一个应用

python manage.py startapp drug_text

在setting文件中注册APP应用

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'drug_text',
]

设置url信息

from django.contrib import admin
from django.urls import path, re_path
from django.conf.urls import include, url urlpatterns = [
path(r'admin/', admin.site.urls),
path(r'user/', include('drug_book.urls')),
]

在drug_textAPP中创建urls.py文件夹

from django.contrib import admin
from django.urls import path, re_path
from django.conf.urls import include, url
from drug_book import views urlpatterns = [
path(r'msyql_text/', views.mysql_text), ]

在views.py文件创建处理函数

from django.shortcuts import render
from django.db import connection
from django.http import HttpResponse # Create your views here. def mysql_text(request):
cursor = connection.cursor()
# 插入语句
cursor.execute("insert into drug_text(name) values ( '三国演义')")
# 更新语句
cursor.execute("update drug_text set name='aa' where id=4")
# 删除语句
cursor.execute("delete from drug_text where id=2")
# 查新语句
cursor.execute("select * from drug_text")
rows = cursor.fetchall()
print('rows', rows)
return HttpResponse("插入成功")

  

Django中使用mysql数据库并使用原生sql语句操作的更多相关文章

  1. django 中连接mysql数据库的操作步骤

    django中连接mysql数据库的操作步骤: 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mys ...

  2. 043:Django使用原生SQL语句操作数据库

    Django使用原生SQL语句操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置 MySQL 为例来讲解. Django 连接数据库,不需要单独的创建一个连 ...

  3. django中 对Mysql数据库的建表

    Django操作Mysql数据库: 1.1 在settings中,配置数据库相关参数,所以无需修改,这里我们看一下: DATABASES = { 'default': { # 这里可以指定使用的数据库 ...

  4. Django中使用MySQL数据库的连接配置

    1. 安装pymysql pip install pymysql 2. 导入 # 在与 settings.py 同级目录下的 __init__.py 中引入模块和进行配置 import pymysql ...

  5. 05: MySQLdb 原生SQL语句操作数据库

    1.1 MySQLdb安装与简介 1.MySQLdb 模块的安装(python3中目前这个模块还不可用)参考博客 1. linux: yum install MySQL-python 2. windo ...

  6. 如何在Django中配置MySQL数据库

    直接上图 在项目中直接找到settings 文件 第一步       原始Django自带数据库 第二步将配置改成MySQL的数据 第三步  在__init__文件中告知Django使用MySQL数据 ...

  7. django中使用mysql数据库的事务

    django中怎么使用mysql数据库的事务   Mysql数据库事务: 在进行后端业务开始操作修改数据库时,可能会涉及到多张表的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起 ...

  8. 如何在python3环境下的Django中使用MySQL数据库

    我们在使用Django过程中,连接MySQL数据库时,对Python不同的版本对应的库也不一样,用惯了Python2的人在使用Python3时经常会遇到下面的错误: Error loading MyS ...

  9. Django 中配置MySQL数据库

    在Django的项目中会默认使用sqlite的数据库 配置MySQL需要在setting.py 里加入以下设置: 配置数据库 DATABASES = { 'default': { 'ENGINE': ...

随机推荐

  1. CS229 2.深入梯度下降(Gradient Descent)算法

    1 问题的引出 对于上篇中讲到的线性回归,先化一个为一个特征θ1,θ0为偏置项,最后列出的误差函数如下图所示: 手动求解 目标是优化J(θ1),得到其最小化,下图中的×为y(i),下面给出TrainS ...

  2. Java 工程名上有个红色叹号

    biuldpath把带×号的jar包remove保存,重新添加jar包

  3. Windows Defender 无法启动

    最近win10 企业版操作系统中,Windows Defender  无法 启动,并提示消息 : to allow this app run , contact your security admin ...

  4. python学习之----BeautifulSoup的find()和findAll()及四大对象

    BeautifulSoup 里的find() 和findAll() 可能是你最常用的两个函数.借助它们,你可以通 过标签的不同属性轻松地过滤HTML 页面,查找需要的标签组或单个标签. 这两个函数非常 ...

  5. HDU1847 Good Luck in CET-4 Everybody 博弈 SG函数

    题意:给定n张牌,两个人轮流摸牌,每次摸牌张数为2的幂次,问先手胜还是后手胜  n≤1000 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847 # ...

  6. 2690036 - SAP HANA 2.0 SPS 03 Database Revision 034

    Symptom This is the SAP Release Note for SAP HANA 2.0 Database Revision 034 (2.00.034.00) of the SAP ...

  7. Exchange 2010 OWA部分用户不能访问

    Exchange 2010 OWA部分用户不能访问 http://blog.csdn.net/xuhuojun/article/details/17364619

  8. Centos配置jdk和tomcat环境

    centos java+tomcat环境配置 一.安装java环境 在CentOS7.2上安装jdk1.8(tar.gz安装包),并配置环境变量 jdk安装在/home/soft/jdk1.8.0-1 ...

  9. Pig latin基础

    pig的两种运行模式,local模式,mapreduce模式 local模式下,pig只能访问本地一台:在mapreduce模式下,pig可以访问一个hadoop集群和hdfs的安装位置.这时,pig ...

  10. [Writeup]百度一下,你就知道

    [Writeup]百度一下,你就知道 谢邀@宋雨田 人在607,刚下床 育才上网,信号不好 实名diss,能人宋雷 ---------------------- 以下是原答案 ------------ ...