数据库

1.SQL执行的顺序

2.NULL

“空值” 和”NULL”的概念: 1:空值(‘’)是不占用空间的,判断空字符用 = ‘’ 或者 <> ‘’ 来进行处理; 2: NULL值是未知的,且占用空间,不走索引;判断 NULL 用 IS NULL 或者 is not null , SQL 语句函数中可以使用 ifnull ()函数来进行处理. 注:在进行 count ()统计某列的记录数的时候,如果采用的 NULL 值,会别系统自动忽略掉,但是空值是统计到其中

3.

在MySQL数据库中,NULL对于一些特殊类型的列来说,其代表了一种特殊的含义,而不仅仅是一个空值。 IS NULL: 此运算符返回true,当列的值是NULL。 IS NOT NULL: 运算符返回true,当列的值不是NULL。 <=> 操作符比较值(不同于=运算符)为ture,即使两个NULL值 涉及NULL条件是特殊的。不能使用 =NULL 或 !=NULL 寻找NULL值的列

4.NF

第一范式( 1NF ): 字段具有 原子性 , 不可再分 。所有关系型数据库系统都满足第一范式)数据库表中的字段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段。 第二范式( 2NF ): 第二范式( 2NF )是在 第一范式( 1NF )的基础上 建立起来的,即满足第二范式( 2NF )必须先满足第一范式( 1NF )。要求 数据库表中的每个实例或行必须可以被惟一地区分 。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为 主关键字或主键 。 第二范式( 2NF )要求 实体的属性完全依赖于主关键字 。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。 第三范式 ( 3NF ) : 满足第三范式( 3NF ) 必须先满足第二范式( 2NF ) 。简而言之,第三范式( 3NF )要求一个数据库表中 不包含 已在其它表中 已包含的非主关键字信息 。所以第三范式具有如下特征: 1 ,每一列只有一个值 2 ,每一行都能区分。 3 ,每一个表都 不包含其他表已经包含 的非主关键字信息。 例如,帖子表中只能出现发帖人的 id ,而不能出现发帖人的 id ,还同时出现发帖人姓名,否则,只要出现同一发帖人 id 的所有记录,它们中的姓名部分都必须严格保持一致,这就是 数据冗余 。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏文渊之博

关于UNPIVOT 操作符

UNPIVOT 操作符说明 简而言之,UNPIVOT操作符就是取得一个行的数据集合,然后把每一行都转换成多个行数据。为了更好地理解,请看下图: ? 图1 从上...

17010
来自专栏恰同学骚年

走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器

  SELECT 以表格的方式输出,可以同时输出多个变量;而PRINT 则是以文本的方式输出,一次只能输出一个变量的值。

712
来自专栏JetpropelledSnake

Django学习笔记之ORM多表操作

作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)

694
来自专栏Python

Django——model基础

ORM 映射关系:     表名 <-------> 类名 字段 <-------> 属性     表记录 <------->类实例对象...

16310
来自专栏鬼谷君

django模型

每个字段有一些特有的参数,例如,CharField(和它的派生类)需要max_length 参数来指定 VARCHAR 数据库字段的大小

572
来自专栏鸿的学习笔记

Python写的Python解释器(三)

变量 接下来,给解释器添加变量。 变量需要一条指令来存储变量的值,STORE_NAME; 一条检索它的指令,LOAD_NAME; 以及变量名称到值的映射。 目前...

483
来自专栏张善友的专栏

使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据

我们经常有这样的需求,批量的删除或者选取大量的数据,有非常多的Id值,经常使用in条件查询,如果你使用拼接字符串的方式,可能遭遇SQL语句的长度限制4000个字...

2039
来自专栏Python

Django中Q查询及Q()对象

问题 一般我们在Django程序中查询数据库操作都是在QuerySet里进行进行,例如下面代码: >>> q1 = Entry.objects.filter(h...

1945
来自专栏IT可乐

mybatis 详解(五)------动态SQL

  前面几篇博客我们通过实例讲解了用mybatis对一张表进行的CRUD操作,但是我们发现写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 ...

23210
来自专栏文渊之博

T-SQL—理解CTEs

在推出SQLServer2005之后,微软定义了一个新的查询架构叫做公共表表达式--CTE。CTE是一个基于简单查询的临时结果集,在一个简单的插入、更新、删除或...

1849

扫描关注云+社区