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. Spark2.X集群运行模式

    rn 启动 先把这三个文件的名字改一下 配置slaves 配置spark-env.sh export JAVA_HOME=/opt/modules/jdk1..0_60 export SCALA_HO ...

  2. TextView右上角显示小红点,小红点根据TextView的长度移动,小红点被TextView挤出去不显示的问题;

    大概就是图片这个样,这个功能很常见,本来我以为很简单,谁知道真的很简单: 遇到点小问题,记录一下,哈哈: 小红点的Drawable: <?xml version="1.0" ...

  3. [AH2017/HNOI2017]大佬(动态规划 搜索)

    /* 神仙yyb 理解题意可以发现 能够对大佬造成的伤害只和你怼了多少天大佬有关, 而且显然天数越多越好 那么我们可以先通过预处理来找出我们最多能够怼多少天大佬 然后我们发现最后我们能怼的血量状态数是 ...

  4. phalcon断点调试(phpStorm+xdebug)

    1.下载并添加chrome插件xdebug helper,下载地址:http://www.downcc.com/soft/261091.html 2.php添加xdebug扩展 mkdir -p /u ...

  5. nodejs开篇基础<①>

    1.安装相关 //安装brew Homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...

  6. python学习之----lxml库和HTML parser

    lxml 这个库(http://lxml.de/)可以用来解析HTML 和XML 文档,以非常底层的实现而闻名 于世,大部分源代码是用C 语言写的.虽然学习它需要花一些时间(其实学习曲线越 陡峭,表明 ...

  7. 运行vbs脚本

    VBS是基于Visual Basic的脚本语言. VBS的全称是:Microsoft Visual Basic Script Edition.(微软公司可视化BASIC脚本版). 其语言类似Visua ...

  8. 企业项目构建学习(一)maven

    <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> & ...

  9. tkinter面板切换

  10. 58.纯 CSS 创作一只卡通鹦鹉

    原文地址:https://segmentfault.com/a/1190000015339977 优化后效果地址:https://scrimba.com/c/c97Z2vuD 感想:消除了图片外的:h ...