当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍。

一. 在settings.py文件中设置数据库属性。

如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #MySQL数据库
'NAME': 'test1', #库名
'USER': 'root', #用户名
'PASSWORD': 'a8115080', #密码
'HOST':'localhost',
'PORT':'',
}
}

二. 创建数据库模型App

python manage.py startapp dbModel

目录结构如下(不同的版本也许会有不同):

|-- dbModel
    |-- __init__.py
    |-- admin.py
    |-- models.py
    |-- tests.py
    |-- app.py
    |-- views.py

三. 在数据库中创建表

1. 在dbModel/models.py中声明表结构

如下:

from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20) #字段,默认会多个id字段
age = models.IntegerField()

其中,一个class就对应着一张表,表名为:dbModel_Test ,即AppName_ClassName.

在这里你可以一次声明多个表。

2. 然后使用命令行就可以在本地数据库中创建相应表:

python manage.py syncdb        #老版本

python manage.py makemigrations        #新版本
python manage.py migrate

四. 在函数中对数据库表进行基本操作

说明:

1. 在函数里操作数据库,经常会遇到编码错误问题,所以一般要在文件的首行加上

# -*- coding:UTF-8 -*-

2. 操作数据库返回的结果一般都是个对象,而那些字段值则是这个对象的属性,使用 . 即可调用。

简单操作:

1. 添加新元素

test1 = Test(name='小明',age=18)
test1.save()

2. 查询

Test.objects.all()        #查询表中所有元组
Test.objects.get(id=1) #获取单个对象,使用obj.fieldName来获取字段数据

3.按条件筛选

Test.objects.filter(name='小明')   #返回结果是一个列表,列表中每个元素是一个元组,存储着一条记录的相关信息

4.更新

Test.objects.filer(id='').updata(name = '大明')
或者:
p = Test.objects.get(id=1)
p.name = '大明'
p.save()

5.删除

p = Test.objects.get(name='小明')
p.delete()

Test.objects.filter(name='小明').delete()

Django简单的数据库操作的更多相关文章

  1. 关于Django中的数据库操作API之distinct去重的一个误传

    转载自http://www.360doc.com/content/18/0731/18/58287567_774731201.shtml django提供的数据库操作API中的distinct()函数 ...

  2. Django【第5篇】:Django之ORM数据库操作

    django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录-------- ...

  3. 【Django】Django model与数据库操作对应关系(转)

    Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manag ...

  4. Django框架----ORM数据库操作

    一.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用 ...

  5. django之ORM数据库操作

    一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例 ...

  6. django基础之数据库操作

    Django 自称是“最适合开发有限期的完美WEB框架”.本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触D ...

  7. PHP开发-最简单的数据库操作,使用ezSQL

    PHP数据库操作使用ezSQL来实现,简单好用. 如果用的是mysql数据库,将下载的ezSQL文件中的mysql和shared连个文件夹拷贝到PHP工程目录中引用即可. 在PHP文件中 // Inc ...

  8. 用户增删改查 django生命周期 数据库操作

    一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...

  9. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作

    SQLite  是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...

随机推荐

  1. JVM-漫游

    Write once, Run Any where. Java Virtual Machine – JVM 的存在让 Java 开发变得简单,并且一次编写多处运行.其实,JVM 就是一个抽象的计算机, ...

  2. Symantec Backup Exec 2012 Agent for Linux 卸载

    本文介绍一下如何卸载Symantec Backup Exec 2012 Agent for Linx.首先我们来看看Symantec_Backup_Exec2012管理员手册的文档介绍: 卸载 Age ...

  3. Django入门

    Django文档: https://docs.djangoproject.com/en/1.10/ref/ 一.简单创建app 1.1 命令行创建project和app. django-admin s ...

  4. weblogic忘记登陆密码

    以下内容来自网络: weblogic安装后,很久不用,忘记访问控制台的用户名或者密码,可通过以下步骤来重置用户名密码. 版本:WebLogic Server 11g 说明:%DOMAIN_HOME%: ...

  5. ORA-00911: invalid character --- 字符集的问题

    网上搜了一遍, 大多数是因为分号( ; ) 的问题.  而我的sql文件是没有分号的, 最后发现是sql文件编码和服务器字符集的差异造成 sql文件怎么都看不出问题,直到在UltraEdit里切换到1 ...

  6. W3School-CSS 尺寸 (Dimension) 实例

    CSS 尺寸 (Dimension) 实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) 实例 C ...

  7. C++基础——模拟事务 (1)COMMAND模式

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  8. SQL Server 2008 R2——以特定符号出现的次数来判断当前内容所在的层次

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  9. WPF 自定义CheckBox

    WPF中原始的CheckBox样式很简单,有时候不适用于WPF那种炫酷的界面. 本章节讲述如何设计一个匹配业务需要.好看的CheckBox(继上篇<WPF-自定义ListBox>中的Che ...

  10. linux中offsetof与container_of宏定义

    linux内核中offsetof与container_of的宏定义 #define offsetof(TYPE, MEMBER)    ((size_t) &((TYPE *)0)->M ...