model.py 中的代码
 # Create your models here.

 # 书和作者一对多
class Author(models.Model):
name = models.CharField(max_length=32)
age = models.IntegerField() class Book(models.Model):
author = models.ForeignKey('Author', on_delete=models.CASCADE)
namebook = models.CharField(max_length=32)
nametype = models.CharField(max_length=32) # 学生和老师多对多 class Teacher(models.Model):
name = models.CharField(max_length=32)
sex = models.CharField(max_length=32) class Student(models.Model):
name = models.CharField(max_length=32)
sex = models.CharField(max_length=32)
teacher = models.ManyToManyField('Teacher')

数据库操作命令:
python manage.py makemigrations
python manage.py migrate setting.py 中的数据库配置
# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'as',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '',
}
}
view.py 中的数据库操作
from django.shortcuts import render, HttpResponse
from app01 import models # Create your views here. def add(request):
"""添加Author数据"""
models.Author.objects.create(name='wangjiawei', age=18)
models.Author.objects.create(name='sujiale', age=19)
models.Author.objects.create(name='lixiangshuai', age=20)
models.Author.objects.create(name='zouqingxv', age=21)
return HttpResponse('ok') def test(request):
"""添加Book数据"""
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='python', nametype='study', author=author)
author = models.Author.objects.filter(name='zouqingxv')[0]
models.Book.objects.create(namebook='C', nametype='study', author=author)
author = models.Author.objects.filter(name='sujiale')[0]
models.Book.objects.create(namebook='java', nametype='study', author=author)
author = models.Author.objects.filter(name='lixiangshuai')[0]
models.Book.objects.create(namebook='C#', nametype='study', author=author)
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='C++', nametype='study', author=author)
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='STM32', nametype='study', author=author)
author = models.Author.objects.filter(name='zouqingxv')[0]
models.Book.objects.create(namebook='jQuery', nametype='study', author=author)
author = models.Author.objects.filter(name='sujiale')[0]
models.Book.objects.create(namebook='JavaScript', nametype='study', author=author)
author = models.Author.objects.filter(name='lixiangshuai')[0]
models.Book.objects.create(namebook='树莓派', nametype='study', author=author)
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='单片机', nametype='study', author=author) author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='白雪公主', nametype='play', author=author)
author = models.Author.objects.filter(name='zouqingxv')[0]
models.Book.objects.create(namebook='大力水手', nametype='play', author=author)
author = models.Author.objects.filter(name='sujiale')[0]
models.Book.objects.create(namebook='灰太狼', nametype='play', author=author)
author = models.Author.objects.filter(name='lixiangshuai')[0]
models.Book.objects.create(namebook='水浒传', nametype='play', author=author)
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='上下五千年', nametype='play', author=author)
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='红猫传', nametype='play', author=author)
author = models.Author.objects.filter(name='zouqingxv')[0]
models.Book.objects.create(namebook='神厨小福贵', nametype='play', author=author)
author = models.Author.objects.filter(name='sujiale')[0]
models.Book.objects.create(namebook='中华小当家', nametype='play', author=author)
author = models.Author.objects.filter(name='lixiangshuai')[0]
models.Book.objects.create(namebook='哆啦A梦', nametype='play', author=author)
author = models.Author.objects.filter(name='wangjiawei')[0]
models.Book.objects.create(namebook='西游记', nametype='play', author=author) return HttpResponse('ok') def select(request):
"""查询"""
# 正向查询
obj = models.Book.objects.filter(namebook='python')[0]
print(obj.author.name)
# 连级查询
obj = models.Book.objects.values('namebook', 'author__name')[0]
print(obj['namebook'] + "++++" + obj['author__name']) # 反向查询
obj = models.Author.objects.filter(name='lixiangshuai')[0]
list = obj.book_set.all().values('namebook')
print(list)
for item in list:
print(item['namebook']) return HttpResponse('ok') def adds(request):
"""添加学生老师"""
models.Teacher.objects.create(name='zhangjiiong', sex='nan') return HttpResponse('ok~!') def adds(request):
"""多对多 添加老师"""
models.Teacher.objects.create(name='wangliangliang', sex='nan')
models.Teacher.objects.create(name='chufengqin', sex='nan')
models.Teacher.objects.create(name='wangli', sex='nv')
models.Teacher.objects.create(name='liuqin', sex='nv')
models.Teacher.objects.create(name='zhouqian', sex='nv') return HttpResponse('ok~!') def addt(request):
"""多对多,添加学生"""
models.Student.objects.create(name='wangjiawei',sex='nan')
models.Student.objects.create(name='gaochengliang', sex='nan')
models.Student.objects.create(name='sujiale', sex='nan')
models.Student.objects.create(name='zouqingxv', sex='nan')
models.Student.objects.create(name='gaoxin', sex='nv')
models.Student.objects.create(name='guanhaiyu', sex='nv') return HttpResponse('ok!!') def stot(request):
"""学生与老师相关联"""
# t1 = models.Teacher.objects.filter(name='wangli')[0]
# print(t1.name)
# s=models.Student.objects.get(name='wangjiawei')
# s.teacher.add(t1)
models.Student.objects.filter(name='sujiale')[0].teacher.add(models.Teacher.objects.get(name='zhangjiong'))
models.Student.objects.filter(name='sujiale')[0].teacher.add(models.Teacher.objects.get(name='wangli'))
models.Student.objects.filter(name='gaoxin')[0].teacher.add(models.Teacher.objects.get(name='wangli'))
models.Student.objects.filter(name='gaoxin')[0].teacher.add(models.Teacher.objects.get(name='zhouqian'))
models.Student.objects.filter(name='guanhaiyu')[0].teacher.add(models.Teacher.objects.get(name='wangliangliang')) # t=models.Teacher.objects.filter(name='chufengqin')[0]
# print(t.name)
return HttpResponse('ok!') def selects(request):
  
  # 反向查询
t= models.Teacher.objects.get(name='zhangjiong')
s=t.student_set.all()
for i in s:
print(i.name)   # 正向查询
s=models.Student.objects.filter(name='wangjiawei')[0]
t=s.teacher.all()
for i in t:
print(i.name)
return HttpResponse('查询完成!')

Python 操作 mysql数据库的一个小小的基础案例,小白新手,以备后用~~的更多相关文章

  1. python操作mysql数据库读取一个数据库的表写入另一个数据库

    写这个肯定是工作需要了,不啰嗦,直接说事 我现在有两台主机,一台是公司主机,一台是客户主机,要求把公司主机上的三个表同步到客户主机上的数据库 注意是同步,首先就得考虑用linux定时任务或者主从复制, ...

  2. Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

    这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...

  3. 【转】python操作mysql数据库

    python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...

  4. python接口自动化(三十八)-python操作mysql数据库(详解)

    简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...

  5. Python 操作MySQL 数据库

    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...

  6. python操作mysql数据库的常用方法使用详解

    python操作mysql数据库 1.环境准备: Linux 安装mysql: apt-get install mysql-server 安装python-mysql模块:apt-get instal ...

  7. python 操作mysql数据库之模拟购物系统登录及购物

    python 操作mysql数据库之模拟购物系统登录及购物,功能包含普通用户.管理员登录,查看商品.购买商品.添加商品,用户充值等. mysql 数据库shop 表结构创建如下: create TAB ...

  8. python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

    前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...

  9. Python操作MySQL数据库9个实用实例

    用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-pytho ...

随机推荐

  1. jQuery发布1.9正式版,最后支持IE 6/7/8

    jQuery 于 2013/1/15 正式发布了 1.9 版本,这个版本最值得关注的,不是又增加了什么新功能,而是它去掉了哪些东西!jQuery 1.9 删除和改动了不少过时的 API,升级后可能会导 ...

  2. linux统计文件夹大小

    统计总大小: du -sh dirname 统计文件夹内部各文件大小及总大小: du -h dirname

  3. Nginx加载ngx_pagespeed模块,加快网站打开的速度

    [页面加速]配置Nginx加载ngx_pagespeed模块,加快网站打开的速度   ngx_pagespeed 是一个 Nginx 的扩展模块,可以加速你的网站,减少页面加载时间,它会自动将一些提升 ...

  4. C# JArray与JObject 的使用

    STEP1.using Newtonsoft.Json.Linq; STEP2 如何获取json里的某个属性(节点)值,对其删改,新增 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  5. jdk8新特性-亮瞎眼的lambda表达式

    jdk8之前,尤其是在写GUI程序的事件监听的时候,各种的匿名内部类,大把大把拖沓的代码,程序毫无美感可言!既然Java中一切皆为对象,那么,就类似于某些动态语言一样,函数也可以当成是对象啊!代码块也 ...

  6. mysql优化(四)

    一.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where / group by / order by 涉及的列上建立索引. 1.索引失效情况. SQL什么条件会使用索引? 当字段上建有索引时, ...

  7. linux下安装mysql等信息

    1.安装 apt-get update;// 第一次的时候,你更新一下你的软件包的源地址数据; apt-get install mysql-server 2.账号登陆 mysql -h localho ...

  8. eclipse设置字体_字符编码_快捷键

    eclipse设置字体.字符编码.快捷键 1.设置字体: preferences->general->appearnce->colors and fonts-->basic-- ...

  9. Metasploit渗透技巧:后渗透Meterpreter代理

    Metasploit是一个免费的.可下载的渗透测试框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击测试.它本身附带数百个已知软件漏洞的专业级漏洞攻击测试工具. 当H.D. Moore在20 ...

  10. html5随机背景颜色

    <script>var colors=['red','blue','green','orange','yellow'];    function bcolor(){        var ...