培训后的自学-MySql必知必会(上篇)

第二章:
mysql安装完成后,\h或者直接输入help是很有意思的,可以查看很多东西。
输入quit或exit可以退出mysql。

第三章:使用MySQL

我觉得这些命令之所以这么难以记忆或者使用,有很大的原因是英语基础不过关,很多的命令就是英语的口头翻译。如果是我们自己写的,那一看就明白了,看完多半也一下就能记下。

show databases; 显示所有数据库
use 数据库名;进入该数据库
show tables; 显示所在库的所有表
show columns from 表名;或者describe 表名;显示所在表的字段名及信息

show status显示服务器状态信息
show create database 库名;show create table 表名;分别显示创建相应库和表的mysql语句。

第四章:检索数据

这里更重要的是搜索的逻辑和它搜索底层原理的理解。至于语句是一个基于此的个人逻辑实现。比如where条件的设定,group by命令,是对经过第一层检索后形成的结果表的再整理过滤。
以及在查询过程中,把字段当成一个变量来看的思考方向。

select语句:
查一个字段:

select 字段名 from 表名[可以是结果表];

查多个字段:

select 字段名1,字段名2,... from 表名[可以是结果表];

查所有字段

select * from 表名[可以是结果表];

查看一列中不重复的值:[同样的这里的distinct就是去除重复的意思,知道这个单词的意思,这个命令也就记下了]

select distinct 字段名 from 表名;

原书检索语句结束后,其实后台就相当于已经生成了一个新的结果表了,如果我们有其他的筛选条件,直接加到语句后面就可以了,也就是所谓的子句。比如下面的操作:

限制显示数量:

select 字段名 from 表名 limit 整数;
select 字段名 from 表名 limit 整数1(开始行),整数2(行数);

排序:(默认为升序,若要改为降序,则在最后面加DESC)
单列排序

select 字段名 from 表名 order by 字段名;

多列排序

select 字段名 from 表名 order by 字段名,字段名;

在这里插入图片描述
在这里插入图片描述以上若组合,则是from where–>order by -->limit的顺序。
在这里插入图片描述第六章:过滤数据

在这里插入图片描述在这里插入图片描述

第七章:数据过滤(AND和OR)

where 条件1 and 条件2 and 条件3 ...
where 条件1 or 条件2 or 条件3 ...

在这里插入图片描述in/not操作符条件筛选。
like操作符
在这里插入图片描述%通配符:在搜索传中,%表示任何字符出现任意次数。
在这里插入图片描述在这里插入图片描述
_通配符。只匹配单个字符而不是多个字符。
在这里插入图片描述第九章:用正则表达式进行搜索
在这里插入图片描述在这里插入图片描述在这里插入图片描述[123]是[1|2|3]的另一种书写形式。[^123]这是它的否定形式。
[1-9][a-z][A-Z]是相应范围的搜索。
为了匹配特殊字符,使用双斜线来(相当于转义)设计。比如\\或者\-等等。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
*表示0个或多个匹配
+表示1个或多个匹配
?表示0个或1个匹配
{n}指定书目的匹配
{n,}不少于指定数目的匹配
{n,m}匹配书目的范围,m不超过255。

select 字段名 from 表名 where 字段名 REGEXP ‘\\([0-9] sticks?\\)

解释上面REGEXP后面的语句;\(匹配(;[0-9]匹配0-9之间的数字,sticks?匹配stick及stick后面一个s;\)匹配)。
REGEXP '[[:digit:]]{4}'匹配4位数。
在这里插入图片描述
在这里插入图片描述
第10章:创建计算字段
检索、计算、转换、格式化数据的作用。
在这里插入图片描述Concat()函数:
要达到这个显示格式:字段1(字段2)这种效果,用Concat()函数。
比如

select Concat(字段1,'(',字段2,')') from 表名 order by 字段名;

Trim函数:去除值左右的空格。RTrim是去除值右边的空格,RTrim是去除值左边的空格。

别名-alias,有时也称为导出列。
最后是创建字段。这个其实就是把字段看成变量的思考方向的实际操作。
在这里插入图片描述
第11章:使用数据处理函数
在这里插入图片描述

  1. 文本处理函数:

在这里插入图片描述让我觉得神奇的是Soundex()这个函数,它是根据字符串的发音来搜索的。

  1. 日期和时间处理函数:

在这里插入图片描述在这里插入图片描述

select ... ... where Year(日期字段名) = '2009' and Month(日期字段名) = '9';

上面的查询语句检索出日期字段中时间为2009年9月的所有行。

  1. 数值处理函数:
    在这里插入图片描述
    第12章:汇总数据
    聚集函数(aggregate function)——运行在行组上,计算和返回单个值得函数。
    在这里插入图片描述
    语句:
    select 聚集函数(相应的字段名) from 表名;
    注意:count()函数在这里插入图片描述在这里插入图片描述
    第13章:分组数据(group by)

在这里插入图片描述过滤分组:
在这里插入图片描述
在这里插入图片描述GROUP BY AND ORDER BY
在这里插入图片描述select语句顺序:
select 字段 from 表格 where 行级过滤 group by 分组说明 having 组级过滤 order by 排序 limit 检索行数

第15章:子查询(subquery)
子查询就是讲一个select语句当做一个表或者是字段来操作的这样一个查询,类似于封装和面向对象吧,我个人觉得。
就像这样在这里插入图片描述
在这里插入图片描述
还有这样:
在这里插入图片描述
相关子查询(corrected subquery)
第15章:联结表
SQL最强大的功能之一就是在检索数据的时候能够联结表。
相同数据出现多次不是一件好事,这是关系型数据库设计的基础。关系表的设计就是要保证把信息分解成多个表,然后各表之间通过关系进行关联。

联结是一种机制,用来在一条select语句中关联表。

主键:唯一、非空、不重复;
外键:本表中的他表的主键;
可伸缩性:也就是能够适应不断变化的数据。
在这里插入图片描述内部联结:

select 字段名1,字段名2 from 表1 INNER JOIN 表2 on 条件;

联结多个表:
用where+… …+表名.字段名的形式来完成。在这里插入图片描述
第16章:创建高级联结
使用表别名来简化语句;
使用不同类型的联结:
自联结【使用类别名完成】
在这里插入图片描述
自然联结:排除多次出现,实现每个列只返回一次。
外部联结:联结包含了那些在相关表中没有关联行的行。【outer join】
在这里插入图片描述上面句子中的外联结是右联结,左联结则是把RIGHT换成LEFT。
使用带聚集函数的联结。
第17章:组合查询
union连接两个select句子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值