时间:2021-07-01 10:21:17 帮助过:16人阅读
每天学习一段时间发现,琐琐碎碎的学习,对日常的工作帮助很大,避免了之前踩过的各种坑;
但,对于这些坑是如何形成的,深挖一会儿就不行了。
思考之下,发现,平时的所学如同学习如何填坑;
系统性的学习,才是,从断面看这个坑,时间跨度上看这个坑的形成和填上,也可以说,是升级我们的铲子;
那句话怎么说来着,手里有了锤子,看什么都是钉子;
所以,我们从基础开始;
之前也写过“必知必会”的读后感,长久不用,现在又需要再拾点东西了
几个问题想一下:
这个其实就是整个数据库最基础的地方,却总是让大神都能卡下壳的时候;
其实简单理解就好:
是不是什么都看得懂,又什么都不懂,那就对了;
继续
差不多了吧,那再具体一点,一些其他概念:
SHOW DATABASES;
SHOW TABLES;
SHOW STATUS;
## 显示服务器状态
SHOW COLUMNS FORM table_name;
SHOW CREATE database;
SHOW CREATE table;
## 显示创建语句
SHOW WARNINGS;
SHOW ERRORS;
SHOW GRANTS;
## 显示授权用户
SELECT是数据库中,最常用的操作了,我们重点说下这个,其他涉及到了的话具体补上;
DISTINCT是不查到重复的行;
需要注意的是,其对多个列的,是要求每个都不一样的才行,对单一没问题,多个有问题,参考:
2.作用于多列
示例2.1
select distinct name, id from A
执行后结果如下:
实际上是根据name和id两个字段来去重的,这种方式Access和SQL Server同时支持。
示例2.2
select distinct xing, ming from B
返回如下结果:
返回的结果为两行,这说明distinct并非是对xing和ming两列“字符串拼接”后再去重的,而是分别作用于了xing和ming列。
排序按照所规定的顺序;
比如,按照age,gender两列排序,会按照age先排,然后年龄相同的,再按照gender去排;
IN操作符的功能几乎和OR是一样的,但我们还是推荐使用IN
一般情况下,一定不要放在起始位置,特别慢!!!
用到聚集类型的,请一定加上GROUP BY;
使用HAVING来过滤GROUP BY;
由此带来SELECT的顺序问题:
SELECT id,COUNT(count),name
FROM test_table
WHERE id > 100
GROUP BY name
HAVING COUNT(count) > 2
ORDER BY id DESC
LIMIT 100
自联结 = 多个条件查询
自然联结,外部联结什么的好晕,打算留坑
每个都能扯一大堆..我们这一个月好好战一下好吧...
数据库特训系列1——基础拾遗
标签:管理 access 表达 sel 条件查询 问题 block 结构 database