【SQL 必知必会】- 第二课 检索数据
目录
SQL 语句和大小写
请注意,SQL 语句不区分大小写,因此SELECT 与select 是相同的。同样,写成Select 也没有关系。许多SQL 开发人员喜欢对SQL 关键字使用大写,而对列名和表名使用小写,这样做使代码更易于阅读和调试。不过,一定要认识到虽然SQL 是不区分大小写的,但是表名、列名和值可能有所不同(这有赖于具体的DBMS 及其如何配置)。
使用空格
在处理SQL 语句时,其中所有空格都被忽略。SQL 语句可以写成长长的一行,也可以分写在多行。下面这3 种写法的作用是一样的。
SELECT prod_name FROM Products; SELECT prod_name FROM Products; SELECT prod_name FROM Products;
多数SQL 开发人员认为,将SQL 语句分成多行更容易阅读和调试。
但是有些部分的空格是不会忽略的,比如字段中引号内部的空格,虽然这个看起来有点睿智,但是确实会有初学者犯这种错误:
select a.pro_name from products a where a.pro_id = '100'; select a.pro_name from products a where a.pro_id = '100 ';
乍一看,看不出来很大的区别,但是这两个 SQL 的查询结果是完全不同的,错误的 SQL 语句少则无法执行,多则可能会产生脏数据(在insert、update等的时候),甚至会产生更加严重的后果。
使用通配符
一般而言,除非你确实需要表中的每一列,否则最好别使用 * 通配符。
虽然使用通配符能让你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
-- 不建议使用 select a.* from products a where a.pro_id = '100'; -- 建议使用 select a.pro_name, a.pro_desc from products a where a.pro_id = '100';
提示:检索未知列
使用通配符有一个大优点。由于不明确指定列名(因为星号检索每一列),所以能检索出名字未知的列。
在自己未知该表具由哪些列,或者忘记具体列名的情况下可以获取提示,一般也可使用“别名 + 点”的方式获取提示,只要是DBMS一般都会有此功能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具