数据表

玩转Django2.0---Django笔记建站基础六

孤街醉人 提交于 2019-11-30 05:48:43
6  模型与数据库   Django对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite和Oracle,而且为这些数据库提供了统一的调用API,这些API统称为ORM框架。通过使用Django内置的ORM框架可以实现数据库连接和读写操作。      6.1  构建模型   ORM框架是一种程序技术,用于实现面向对象编程语言中不同类型系统的数据之间的转换。从效果上说,其实是创建了一个可在编程语言中使用的"虚拟对象数据库",通过对虚拟对象数据库操作从而实现对目标数控的操作,虚拟对象数据库与模板数据库是相互对应的。在Django中,虚拟对象数据库也成为模型。通过模型先对模板数据库的读写操作,实现如下:     1、配置模板数据库信息,主要在setting.py中设置数据库信息,具体配置步骤可查看2.4节。     2、构建虚拟对象数据库,在App的models.py文件中以类的形式定义模型。     3、通过模型在模板数据库中创建相应的数据表     4、在视图函数中通过对模型操作实现目标数据库的读写操作。   本节主要讲述如何构建模型并通过模型在目标数据中生成相应的数据表。在此之前可以查看2.4节如何配置目标数据库信息。以MyDjangl项目为例,配置信息如下: DATABASES = { 'default': { 'ENGINE': 'django.db

Django查询数据库性能优化

旧街凉风 提交于 2019-11-30 05:42:38
现在有一张用户信息的数据表,表中记录了10个用户的姓名,昵称,年龄,工作等信息, models文件 from django.db import models class Job(models.Model): title=models.CharField(max_length=32) class UserInfo(models.Model): username=models.CharField(max_length=32) nickname=models.CharField(max_length=32) job=models.ForeignKey(to="Job",to_field="id",null=True)   数据表中记录   另外一张表中记录用户工作表,关联用户的工作字段   要查出每个用户的用户名,昵称和工作信息 def index(request): user_list=models.UserInfo.objects.all() print(user_list.query) # 打印查询时使用的语句 print(type(user_list)) # 打印查询结果的数据类型 for user in user_list: print("%s-->%s-->%s" %(user.username,user.nickname,user.job.title)) return

MYSQL中数据类型介绍

房东的猫 提交于 2019-11-30 02:57:37
一、MySQL的数据类型 主要包括以下五大类: 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT 浮点数类型:FLOAT、DOUBLE、DECIMAL 字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB 日期类型:Date、DateTime、TimeStamp、Time、Year 其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等 1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3个字节 范围(-8388608~8388607) int(m) 4个字节 范围(-2147483648~2147483647) bigint(m) 8个字节 范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为

软测5班数据库第一天课程(2019-9-18)今天是九一八事变纪念日,切记:落后就要挨打!!!

China☆狼群 提交于 2019-11-30 02:11:59
Sql server:微软,默认端口:1433 Mysql数据库:默认端口:3306 Oracle数据库:默认端口:1521 Sql server启动服务的二种方式: 在sql server配置管理器中启动服务 在计算机—管理工具—服务启动 实体:一条数据库中的记录。数据库表中存放格式相同的实体。 冗余:表中存在大量的重复数据。消除冗余会似表结构变的复杂,所以允许存在一定的冗余,一张表做一件事。 完整性:正确的数据输入到数据表中。 服务器类型:数据库引擎 服务器名称:数据库服务器的ip地址/数据库服务器的计算机名/localhost/.(本机) 身份验证:Windows身份验证/Sqlserver身份验证 登录名:Windows登录用户/sa(sqlserver管理员) 密码:****** 数据库文件 mdf文件:数据库主文件,用来存储数据表,一个库有且仅有一个mdf文件。 ndf文件:数据库的辅文件,用来存储数据表,一个库可以有0-N个ndf。 ldf文件:数据库的日志文件,用来记录数据库操作日志。 完整性约束 1:数据类型的约束,规定了输入到表中的数据类型。 文本数据类型: char类型(长度是8000):固定长度的非unicode编码字符。(非unicode字符一个长度等于8位2进制,可以表示一个英文数字或者符号,两个可以用来表示双字节字符) char(10):英文是10个

### Error querying database. Cause: java.sql.SQLException: 无法转换为内部方式

情到浓时终转凉″ 提交于 2019-11-30 00:00:27
在使用MyBatis的时候遇到以下异常: org.springframework.jdbc.UncategorizedSQLException: Error querying database. Cause: java.sql.SQLException: 无法转换为内部方式 从实体类的属性与数据库的数据表的字段做比对,发现数据表字段的数据类型与实体类属性的数据类型不一致导致的,因为数据表字段是字符串而实体类属性是整数,字符串转为数字或多或少都会出现问题,所以才会出现“”无法转换为内部方式“”的异常,将实体类属性的数据类型与数据表字段对应就可以了。 实体类: 数据表结构: 来源: CSDN 作者: 淳潜 链接: https://blog.csdn.net/caofuzhou/article/details/80976470

工作流简介以及activity5

早过忘川 提交于 2019-11-29 23:23:03
工作流简介 什么是工作流 简单的理解就是工作的流程,这里的流程指的是,完成一个企业中具体业务的 一系列工作步骤 ,所有的步骤合在一起就是业务从 开始 到 结束 的流转过程。 从计算机系统的角度来讲,工作流系统表示:业务过程的部分和整体在计算机应用环境的 自动化 操作 工作流的三大要素 工作流示例 - 请假 工作流系统的组成 工作流的相关概念 Activiti5简介 Activiti5框架的由来 JBPM ,全称是 Java Business Process Management (业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。 JBPM 是公开源代码项目 。 JBPM在2004年10月18日,发布了2.0版本,并在同一天加入了 JBoss ,成为了 JBoss 企业中间件平台的一个组成部分,它的名称也改成 JBoss jBPM 。 在 JBPM4 之后,公司内部对于软件的规划发生了分歧,所以当时的项目架构师脱离了原来的公司,加入新的公司后,改了名称 Activiti5 。 JBPM 采用 Hibernte (JBPM核心发生了很大的变化) Activiti5 采用 MyBatis (MyBatis 3, 1和2都叫做iBatis) Activiti5组成 ProcessEngine :这个类是Activiti5的核心

【Oracle】基础知识查漏补缺

别说谁变了你拦得住时间么 提交于 2019-11-29 21:21:24
前言 该文章内容不是学习oracle的基础知识,而是在大致了解oracle的基础知识上看我自己还有什么不知道或者不明白的地方,有兴趣的小伙伴可以在网上找找李兴华的oracle培训资料。 SQL简介 SQL 功能强大,概括起来,它可以分成以下几组: · DML(Data Manipulation Language,数据操作语言) —— 指的是实现数据库的查询与更新操作,其中针对于 数据库的查询有部分人员会将其称为 DQL,因为最麻烦的部分就是查询。 · DDL(Data Definition Language,数据定义语言) —— 定义数据库对象,例如:在一些系统设计人员的工作里 面需要进行数据表的定义。 · DCL(Data Control Language,数据控制语言) —— 控制用户的操作权限,一般由 DBA 负责。 简单查询 对于重复的数据是有一个基本的原则:只有在所有列的数据都重复的情况下才叫 做重复数据。 SELECT DISTINCT ename,job FROM emp “||”的连接符,可以进行数据的连接。 SELECT '编号:' || empno || '、姓名:' || ename || '、工资:' || sal info FROM emp IN查询 对于 IN 操作而言是针对于基数的判断,如果说此时在使用 NOT IN 的时候基数里面包含了 NULL

MongoDB的使用

你说的曾经没有我的故事 提交于 2019-11-29 19:41:43
mongodb是一种文档型数据库,构成数据库->数据表【集合】->数据【文档】的模式。 一、下载与环境配置 1.下载 由于mongodb的封装性加强,前一年还需要自己配置环境,现在直接下载安装就好了。 下载地址: https://www.mongodb.com/download-center/community 可以选择msi和zip,两者的区别在于msi是在线安装的,zip是离线安装的.因此选择msi就可以了,不用解压文件。直接点击msi就OK了。 2.环境配置 把mongodb添加到环境变量中去。 mongodb的路径: 环境变量 二、操作 查看数据库的命令: show dbs 选择数据库的命令: use test 查看数据表的命令: show tables 查看数据集的命令: show collections # 使用数据库为test # 选择数据库 1.增加 使用指令 【use name】 创建数据库,其中name是数据库的名字。 使用指令 【db.test.insert(documents)】 插入数据,其中test是数据表或者是数据集,documents是一个字典,如果没创建就会默认创建。 使用指令 【db.createCollection("Thu")】 建立集合,其中Thu为集合名 2.删除 2.1 删除数据/文档 使用指令 【db.mon.remove(key)】

初学Laravel框架与ThinkPHP框架的不同

自作多情 提交于 2019-11-29 18:39:27
作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正...           1.渲染模版方式的不同:在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版;     2.在实际开发中我们常常遇到这样的问题,就是开发地点不固定,这就造成了我们需要频繁的更改数据库配置,给开发工作造成了麻烦,TP依然没有避免这个"灾难";在laravel框架中,.env环境文件的出现解决了这个麻烦,我们只需要在不同的工作地点配置好.env文件就不避再进行配置,因为无论是git还是svn " .env是不会随着文件一起提交到服务器的";     3.Laravel框架提供了大量的闭包,作为菜鸟的我目前只使用了use方法,即如何在函数内部使用外层变量               4.post传值中注意点不同:在Laravel框架里,由于其考虑到了跨站攻击, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误;而TP框架则需要自己手动完成防止跨站攻击的代码;          5

MySQL按中文排序

≯℡__Kan透↙ 提交于 2019-11-29 18:02:28
今天在工作中遇到MySQL按照中文进行排序的问题,平时也有按照中文进行排序,但是没有具体研究过,这次进行一些总结,方便以后查阅。 在处理使用Mysql时,数据表采用utf8字符集,使用中发现中文不能直接按照拼音排序 如果数据表tbl的某字段name的字符编码是 latin1_swedish_ci select * from `tbl` order by birary(name) asc ; 如果数据表tbl的某字段name的字符编码是 utf8_general_ci SELECT name FROM `tbl` WHERE 1 ORDER BY CONVERT( name USING gbk ) COLLATE gbk_chinese_ci ASC =================== $orderby="convert(`group` USING gbk) COLLATE gbk_chinese_ci,displayorder,navid" 最简单的排序方法只需要一条 SQL语句: select * from musician_ordered order by convert(name using gbk) collate gbk_chinese_ci; 首先,对name字段进行gbk编码,然后,对编码后的内容根据gbk_chinese_ci进行整理排序。 这样得到的结果