Anthony_tester的博客

探索从QA角色到开发角色的转换之路

MySQL练习0-数据表创建

前面这些文章,基本学习完了MySQL的一些基础和常见的查询操作,接下来多篇文章,我们通过实际例子来练习SQL语句的使用,这个例子也是网上找到的,就是一个学校里的学生表,教师表,课程表,学分表。这里练习的第一篇,我们就来准备创建表和数据。   首先,我们新建一个school的数据库,然后use ...

2018-01-25 23:26:46

阅读数:567

评论数:0

MySQL基础教程34-连接查询-外连接

前面一篇学习了内连接,本篇来学习外连接,外连接有左外连接和右外连接。本篇主要连接外连接和内连接的基本使用方法。外连接(outer join),是以某张表为主,取出里面的所有记录,然后每条与另外一张表进行连接。不管能不能匹配上条件,最终都会保留,也就是说,能匹配,正确保留;不能匹配,其他表的字段都置...

2018-01-24 22:44:16

阅读数:593

评论数:0

MySQL基础教程33-连接查询-内连接

回顾前面的查询语句,我们可以得到下面这个查询语句的公式或者叫模板。从下面的语句,可以帮我们记住那些语句应该放什么顺序。 模板:select 选项,字段别名,数据源(单表,多表和子查询[别名]),where字句(条件判断:从磁盘上开始),group by 字句(分组统计,统计函数,分组排序,多字段...

2018-01-13 23:04:29

阅读数:499

评论数:1

MySQL基础教程32-高级查询-limit子句

本篇来学习limit子句,这个知识点在面试或者笔试过程经常遇到。Limit子句是一种限制结果的语句,通常是限制数量。本篇就来学习limit两种使用方式。   只用来限制长度(数据量):limit数据量;   举例:查询学生表中前两条记录 我们本来有6条学生记录,使用limit 2就只查询...

2018-01-11 22:38:43

阅读数:367

评论数:0

MySQL基础教程31-高级查询-having子句和order by子句

这篇来学习having子句和order by字句,和where字句一样,是用来进行条件判断的。Where是针对磁盘数据进行判断,进入到内存之后,会进行分组操作,分组结果就需要Having来处理。有这么一个结论,having能做where能做的几乎所有事情,但是where却不能做having能做的事...

2018-01-10 23:19:11

阅读数:391

评论数:0

MySQL基础教程30-高级查询-group by子句

这篇来学习group by字句。Group by就是分组的意思,根据某个字段进行分组。 基本语法:group by 字段名; 使用前面的学生表,我们来进行练习 举例:根据性别分组 根据上面显示,我们使用了分组语句,结果出现了数据丢失的情况。分组之后男和女只显示一条数据。 在SQL...

2018-01-09 22:49:22

阅读数:407

评论数:0

MySQL基础教程29-高级查询-where子句

本篇来学习下高级查询中的where子句。一般我们查询都是有条件的,很少会查询全量数据,所以我们会根据一些特定条件去海量数据里查询我们希望的结果,这个条件就是写在where子句里。  Where字句:用来判断数据,也就是根据条件筛选数据。Where 子句返回结果有两种:0和1,0代表false,1...

2018-01-08 22:52:50

阅读数:387

评论数:1

MySQL基础教程28-高级查询-数据源

前面一篇介绍了select选项和字段别名,这篇介绍数据源。数据源就是数据的来源,关系型数据库的来源都是数据表。本质上只要保证数据类似二维表,最终都可以作为数据源。数据源分为多种:单表数据源,多表数据源,查询语句。 单表数据源举例:select * from 表名; 多表数据源举例:se...

2018-01-08 22:16:13

阅读数:302

评论数:0

MySQL基础教程27-查询-select选项和字段别名

前面我们介绍了数据的高级操作,新增,修改和删除,这次把查询放最后,是因为数据查询是我们学习的重点,所以接下的文章都是介绍和查询相关的操作。 查询数据 基本语法:select 字段列表/* from 表名 [where 条件]; 完整语法:select [select选项] 字段列表[字段别名...

2018-01-07 22:17:31

阅读数:561

评论数:0

MySQL基础教程26-数据高级操作-更新

接着上一篇,这篇介绍高级更新操作。 更新 基本语法:update 表名set 字段= 值 [where条件]; 高级新增语法:update 表名set 字段= 值 [where条件][limit更新数量]; 举例:新建一个表,数据如下          需求:把name表前三个...

2018-01-06 12:19:01

阅读数:383

评论数:0

MySQL基础教程25-数据高级操作-新增

前面我们学习了一些列属性和范式,接下来介绍一些数据的高级操作,主要是数据的增删改查。本篇来看看数据的新增操作。 数据新增操作 基本语法:insert into 表名 [(字段列表)] values(值列表); 场景:在数据插入的时候,假设主键对应的值已经存在,如果插入一定会失败,因为主键是不...

2018-01-05 14:52:40

阅读数:347

评论数:0

MySQL基础教程24-范式

范式(Normal Format),是一种离散数学中的知识,是为了解决一种数据的存储与优化的问题,保存数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储终极目标是为了减少数据的冗余。范式是一种分层结构的规范,分为六层:每一次层都比上一层更加严格,若要满足下一层范式,前提是满足上一层范...

2018-01-04 22:34:05

阅读数:266

评论数:0

MySQL基础教程23-索引和关系

本篇来介绍下Mysql中的索引和关系,关系主要有一对一和一对多以及多对多关系。 索引        前面在删除唯一键的部分提到了索引。几乎所有的索引都是建立在字段之上,所以索引也属于列属性。索引的定义是:系统根据某种算法,将已有的数据(未来可能新增的数据)单独建立一个文件,这个...

2018-01-03 22:35:40

阅读数:333

评论数:0

MySQL基础教程22-Mysql列属性-唯一键

一张表往往有很多字段需要具有唯一性,数据不能重复,但是一张表中只能有一个主键。唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题。唯一键的本质与主键差不多,唯一键默认的允许自动为空,而且可以多个为空(因为字段为空不参与唯一性比较)。 增加唯一键 基本与主...

2018-01-02 23:42:10

阅读数:305

评论数:0

MySQL基础教程21-Mysql列属性-自增长

本篇继续来学习列属性,自增长。什么是自增长呢?当对应的字段,不给值,或者给默认值,或者给NULL的时候,会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的不同字段。典型的例子就是在excel表格第一列,我们往下拉就自动增长。自增长通常是跟主键搭配使用。 自增长...

2017-12-28 14:27:17

阅读数:331

评论数:0

MySQL基础教程20-Mysql列属性-主键

主键:primary key, 主要的键,一张表中只能有一个字段可以使用对应的键,用来唯一约束该字段里的数据,这样的键叫主键。一张表最多能有一个主键。 增加主键 SQL给表增加主键大体有三种: 方案1:在创建表的时候,直接在字段后面跟primary key 关键字。 ...

2017-12-27 20:43:55

阅读数:366

评论数:0

MySQL基础教程19-Mysql列属性-空属性/描述/默认值

真正约束一个字段的是数据类型,但是数据类型的约束很单一,有时候还需要有一些额外的约束,这些额外的约束就是列属性。列属性主要有:null/not null,default,primary key, unique key, auto_increment, comment等。所以,这篇我们来了解一下列的...

2017-12-27 13:26:53

阅读数:407

评论数:0

MySQL基础教程18-Mysql数据类型-字符串类型

本篇来学习字符串类型,在SQL中,将字符串类型分成了6类:char, varchar, text, blob, enum, 和set。下面挑选枚举和集合来举例看看。 定长字符串 定长字符串:char,磁盘上二维表在定义结构的时候,就已经确定了最终数据的存储长度。 char(L): L...

2017-12-26 16:42:41

阅读数:622

评论数:0

MySQL基础教程17-Mysql数据类型-日期时间

本篇来简单学习下Mysql中的时间日期数据类型,这个类型使用频率不是很多,主要是在记录时间上,例如一个用户表,可能需要记录用户注册时间,用户最近一次登录时间,还有用户的一些会员时间期限。 时间日期类型分类 Datetime: 时间日期,格式是YYYY-mm-ddHH:ii:ss,表示的范围是...

2017-12-24 22:29:33

阅读数:351

评论数:0

MySQL基础教程16-Mysql数据类型-浮点型和定点型

什么是小数型呢?字面意思就是带小数点的数值型。在mysql中,小数又细分为浮点型和定点型。浮点型的特点是小数点浮动,有精度丢失;定点型特点就是小数点固定,不会丢失精度。浮点型又分float和double,float占用4个字节存储数据,精度范围大概为7位左右;double占用8个字节存储数据,精确...

2017-12-23 23:08:19

阅读数:461

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭