ITPub博客

首页 > 数据库 > MySQL > 【超详细】自学SQL网刷题笔记 DAY-2

【超详细】自学SQL网刷题笔记 DAY-2

原创 MySQL 作者:lanjinwei 时间:2026-07-24 10:13:33 0 删除 编辑

【超详细】自学SQL网刷题笔记 DAY-2

这是本系列笔记的第2篇,这是一个小白自学SQL的笔记,我有一个习惯,学什么东西都喜欢记笔记,如果你也正在学习SQL,也可以参考参考,如果我有纰漏的地方,欢迎指正

我自学SQL花了大概10天左右,我就按这个时间顺序来写吧。

笔记目录:

自学SQL网刷题笔记 DAY-1  基础概念篇

自学SQL网刷题笔记 DAY-2  我的第一条SQL

自学SQL网刷题笔记 DAY-3  整理中...

自学SQL网刷题笔记 DAY-4  整理中...

自学SQL网刷题笔记 DAY-5  整理中...

自学SQL网刷题笔记 DAY-6  整理中...

自学SQL网刷题笔记 DAY-7  整理中...

自学SQL网刷题笔记 DAY-8  整理中...

自学SQL网刷题笔记 DAY-9  整理中...

自学SQL网刷题笔记 DAY-10  整理中…

PS: 怕迷路的话可以收藏一下哦~~

在第二天的学习中,我首先问了自己一个问题:如果让我设计一张表(table),存储世界上的所有狗,我应该怎么设计?

没错,很多朋友都提醒我,既然是设计表,那么关键就是确定字段(或者叫列),我们想一想狗表(dog)应该包含哪些字段。比如:要不要狗ID,要不要狗名字,年龄….

要不要狗主子的名字,地址,品种….

我们发现一个表存储的是一个事物,那么字段(或者叫属性,或者叫列 其实都是一个意思),其实每一个字段代表的就是事物的一个属性。

我设计的狗表如下(仅供大家参考,你也可以设计一个表,这样能更好的理解表和列的关系):

接下来正式开始今天的分享:

显示一个或几个列的SQL语法

世界上最简单的SQL恐怕就是显示一个或几个列的SQL语法了

Select 查询某些属性列(specific columns)的语法

SELECT column(列名), another_column, … FROM mytable(表名);

非常有意思的是,很多小朋友看了这个语法之后,以为sql要写上column,把sql写成了下面这样:

select column title, another_column year from mutable movies;

然后说怎么这个SQL运行不了啊,妈妈呀~~~

其实我学习SQL的一个体会,语法是语法,理解语法是另外一回事情,那怎么更好的理解语法呢,其实第一天的学习中,

我已经接触到这个类型的SQL,比如下面这个

select title from movies

我仔细的对比了一下这个一定正确的sql和刚才 语法,发现了两个秘密,第一个,语法里的colum和mytable只是一个知识,它在写sql的时候

要替换成我们自己的 title 和 movies。第二个秘密,语法里表达的意思显然是一个多列输出的意思,也就是说如果你要输出多个列,那么列名可以

用逗号隔开。

这样我基本算是理解了这个语法,当然还没有完,接下来就要把这个语法写一些SQL出来去验证一下:

我自己又给自己出了一道题:用SQL列出电影的名字和导演?

SELECT title,director FROM movies;

PS:果然是用逗号隔开,而且图里显示的数据也没有错误。

需要特别注意的一点是,SQL是可以没有where条件的,没写条件就表示全表查询。

SQL里中文和英文的关系

一个简单的SQL,也可能出错,特别是对于一个小白来说,就比如上面的这条SQL:

SELECT title,director FROM movies;

你可以回非常奇怪,刚才这个sql不是好好的吗,怎么突然 就出错了呢?我自己一开始也遇到过这样的问题,最后查了半天,就发现是这个逗号,没有

用英文的逗号,而写成了中文的逗号,于是数据库就不认可了。生气了,出错了。

初学者,语法出错千万别急,第一步先看看是不是标点符号写成中文了。

当然,中文还不止这一个问题呢,比如我们经常看到下面这样的题目:

简单查询】找到所有电影的名称,Id和播放时长

很多小朋友会非常气愤,说,这里的名词,播放时长,你直接告诉我字段名不行吗,说中文干嘛?一开始我也是这么想的,有病吧,能说字段为什么不直接说,

非得写个中文。后来一个老鸟告诉了我一个事实,他说在实际工作中,老板往往不知道你的表和字段,他只会中文的表达,至于具体字段嘛,需要你自己去找。

仔细想想,他说的也有点道理,所以对初学者而言,写一个SQL真的不只是写一个SQL,还需要你有一个把别人的要求理解,转化,再写出SQL的过程。也算是

一个基础能力吧。比如上面的问题,我再写一个SQL:

SELECT title,id, Length_minutes  FROM movies

结果如下:

PS:为什么有的SQL有分号,有的没有,其实分号是表示一条SQL的结束,当写多条SQL的时候,必须用分号隔开,只有一条就无所谓了。不写分号自然结束

学会理解 select *

今天我学到的最后一个SQL知识,就是select * 。

这是一条最简单的SQL,同时也是一条最危险的SQL。如果一个表有几百个字段(没错,实际中可能存在的哦),那么一个一个字段去找就比较麻烦,这个语法里的

星号(*)代表的就是所有字段的意思。

比如:select * from movies

一次性查询所有字段。需要注意的是,这个星号是可以和其他字段一起写哦,比如我写出下面的这个SQL:

select id,* from movies

一开始你可能会觉得有点奇怪,可以这么写吗?是可以的,不仅可以写,还能运行,还有一个特别的作用呢。先看看这条是的执行结果,看是不是跟你想的一样:

PS:好神奇啊,居然出现了两次ID,你有没有发现。

一个小秘密:  不知道你写SQL的过程中有没有忘记字段名字的烦恼,我在忘记字段的时候,就会在最后加一个 * ,这样就把字段都显示出来了,一个小技巧。

为什么select * 是最危险的?

一开始我也不懂,后来是一个老鸟告诉我的,他说你仔细想一想,select * 就是输出表的全部数据。那么如果这个表有1000万数据的时候,你select * ,数据库会崩溃吗?

一般人还真不知道这么思考,不过要真的碰到这个问题,还真的值得去试一试。我手里没有1000万数据的表,我用的是一个100万数据的表测试的

如果写 select * from table 这样的语句,基本上你就可以等半天了,半天时间,数据库都在给你准备数据,根本就没办法运行了都。

所以说,select * 是最简单的SQL也是最微信的SQL。

对了,很多人可能会问我这个自学SQL练习的网站,我把网址放最后,大家可以自己取用:(对了,为了避免广告嫌疑,我需要说下这个网站前12节免费,如果加入社群要收费)

网址: http://xuesql.com/

今天就写这么多。

谢谢大家!!!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70049428/viewspace-3176641/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2026-01-27

  • 博文量
    10
  • 访问量
    10797