1.增加数据

调用该路由执行ModelsCaozuo的处理方法

第一种实例化类

class ModelsCaozuo(View):
''' 数据库增加数据 '''
def get(self, request):
article = Article()
article.title = "怎样添加一条表的数据,它拥有多个字段"
article.content = "实例化model,通过.attr赋值"
article.message = "使用django的save持久化数据"
article.save()
return HttpResponse("%s<br>%s<br>%s" % (article.title, article.content, article.message))

第二种不实例化

class ModelsCaozuo1(View):
''' 数据库增加数据 '''
def get(self, request):
Article(
title="添加数据不实例化,直接使用类",
content="",
message = "同样通过django的save持久化数据"
).save()
return HttpResponse("%s<br>%s<br>%s" % (Article.title, Article.content, Article.message)) # 取不到数据?

第三种新增数据

class ModelCaozuo2(View):

    def get(self, request):
Article.objects.create(title="大标题", content=datetime.now(), message='')
return HttpResponse('ojbk')

2.查询数据

Article.object.all()  ; Article.object.get()  ; Article.object.filter() ;Article.object.exclude()

查询Article表中所有数据  Article.object.all()

  ps: 返回多条数据(Article的实例的集合, for in)

class ModelsCaozuo2(View):
''' 查询Article表数据的常用方法'''
def get(self, request):
content_all = Article.objects.all() # 可以切片 content_all[::] 不能使用负值切片
print content_all # QuerySet实例 列表 可 for in # <QuerySet [<Article: Article object>,
<Article: Article object>]
     print content_all.values() # 返回字典形式的数据 ps:必须是QuerySet集合 [{'id':1,'name':'xiaoming'},{'id':2, 'name': 'xiaodong'}]
     print content_all.count() # 数据条数      Article.object.latest('id') # latest根据字段id先进行排序,返回最后一条数据
     Article.object.earliest('id') # earliest根据字段先排序,返回最久远的数据      Article.object.first() # 获取,默认排序的第一条数据。可根据order_by排序
     Article.object.last() # 最后一条数据      # exact, iexact
     Article.object.filter(id=1) # 查询id=1的数据
     Article.object.filter(id__exact=1) # 等同上
     Article.object.filter(id__iexact=1) # 等同上 但是忽略大小写
     
     # contains, icontains
     
Article.object.filter(content__contains="a") # 字段content下,数据内容包含 “a”的所有数据
     Artocle.object.filter(content__icontains="a") # 不包含“a”的数据
    
     # in
     Article.object,filter(id__in=[1,2,3]) # 判断字段id的值是否在列表中,是则获取出来      # gt大于, gte大于等于, lt小于, lte小于等于, startwith, istartwith忽略大小写, endwhith, iendwith忽略大小写

      # range:区间查询

      start_date = datetime.date(2005, 1, 1)
      end_date = datetime.date(2018, 1, 1)
      Artucle.objects.filter(make_time__range=(start_date, end_date))
     # null
     Article.object.filter(age__null=True) # age字段为空的所有数据
return render(request, 'mysql_select.html', locals())
mysql_select.html  页面获取属性
<body>
{% for con in content_all %} 每一条表中数据对应一个Article类的实例con
{{ con.title }}<br>
{{ con.content }}<br>
{{ con.message }}<br>
{% endfor %}
</body>

查询Article表中单条数据  Article.object.get()

  ps 只返回一条数据(所以只是返回单个Article实例),如果数据有多条或者没有 会报错

class ModelsCaozuo3(View):
''' 查询表的数据 '''
def get(self, request):
data1 = Article.objects.get(pk=1) # pk 通过主键查询
data2 = Article.objects.get(id=1) # id 通过id查询 一般id字段设置为主键
     data3 = Article.object.exclude(id=1) # 过滤符合条件的数据,获取其它数据
     data4 = Article.object.all().order_by('-id') # 通过id排序,"-"代表倒序
return render(request, 'mysql_select1.html', locals())

 3.批量和单条删除数据

  ps:没有查到数据  不会报错

class ModelsCaozuo4(View):
''' 批量和单条删除表数据 '''
def get(self, request):
Article.objects.filter(n=2).delete() # 删除Article中所有 字段n=2的数据
Article.objects.filter(id=11).delete() # 删除Article 字段id=11的单条数据
return HttpResponse('ojbk')

4.修改数据

class ModelsCaozuo5(View):
''' 批量和单条修改数据 '''
def get(self, request):
# 批量 把字段n=3的所有数据 的字段n,message改值
Article.objects.filter(n=3).update(n=4,message="把n从3改成4了")
# 单条 先get单条Article数据的实例 和批量删除格式不同
article = Article.objects.get(pk=6) # get如果有多条数据或者无数据 则报错,只返回一条数据
article.n = 3
article.save() # 记得save
return HttpResponse('ojbk')

django-mysql表的增删改查的更多相关文章

  1. $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境

    在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTING ...

  2. MySQL表的增删改查和列的修改(二)

    一.使用Like模糊查找搜索前缀为以“exam_”开头的表名 show tables like 'exam_%' ; 语句结束符号是:也是用\G来表示 二.MySQL表的CRUD 2.1 创建表: C ...

  3. mysql表的增删改查

    一.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为一条记录 二.创建表 cr ...

  4. mysql 表的增删改查

    一.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 对于一张表来说,字段是必须要有的. 数据表 类似于excel id,name,qq, ...

  5. mysql 表的增删改查 修改表结构

    四.修改表结构 语法: . 修改表名 ALTER TABLE 表名 RENAME 新表名; . 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 ...

  6. Django --- 单表的增删改查

  7. mysql 数据表的增删改查 目录

    mysql 表的增删改查 mysql 表的增删改查 修改表结构 mysql 复制表 mysql 删除表

  8. django模型层 关于单表的增删改查

    关于ORM MTV或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...

  9. Django学习笔记(10)——Book单表的增删改查页面

    一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...

  10. Mysql数据表的增删改查

    ---恢复内容开始--- Mysql数据表的增删改查 1.创建表   语法:CREATE TABLE 表名(字段1,字段2,字段3.......) CREATE TABLE `users` ( `us ...

随机推荐

  1. [LeetCode&Python] Problem 561. Array Partition I

    Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...

  2. HDU 1896:Stones(优先队列)

    Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Sub ...

  3. 玩转ptrace (一)

    转自http://www.cnblogs.com/catch/p/3476280.html [本文翻译自这里: http://www.linuxjournal.com/article/6100?pag ...

  4. gitlab操作

    一.初始设置 在某一个具体的project下: 1.gitlab中删除一个工程Setting-->General-->Advanced settings-->RemoveProjec ...

  5. SQL Server 中关于EXCEPT和INTERSECT的用法

    熟练使用SQL Server中的各种用法会给查询带来很多方便.今天就介绍一下EXCEPT和INTERSECT.注意此语法仅在SQL Server 2005及以上版本支持. EXCEPT是指在第一个集合 ...

  6. x86函数调用约定

    以下摘自<IDA Pro>,貌似有一些细节之处没有交代清楚呢,需要进一步思考.实践. 了解栈帧的基本概念后,接下来详细介绍它们的结构.下面的例子涉及x86体系结构和与常见的x86编译器(如 ...

  7. ThinkPHP 更新 5.0.23 和 5.1.31

    ThinkPHP 更新 5.0.23 和 5.1.31 FastAdmin 也跟着更新. V1.0.0.20181210_beta 修复 ThinkPHP5.0发布了一个重要安全更新,强烈建议更新 修 ...

  8. FastAdmin 怎么把模块设置默认的首页?

    F4NNIU: 参考 ThinkPHP5 的路由设置. fangke-河南: 或者看config.php Karson:需要把插件设置为默认首页吗?在后台就可以,设置他插件的为伪静态,即可.

  9. 【数据库】Eclipse连接MySQL数据库

    我的环境:MySQL:mysql-essential-5.1.51-win32 jdbc驱动:我已经上传到csdn上一个:http://download.csdn.net/detail/paulwin ...

  10. Hadoop专业解决方案-第1章 大数据和Hadoop生态圈

    一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在此 ...