每天进步一点点:SQL的注释
hive-105017·@oflyhigh·
52.596 HBD每天进步一点点:SQL的注释
最近O哥奋发图强每天都在努力学习,比如说写点Python程序,又比如说写点PHP代码,有时候也用SQL来做一些数据分析,等等等等。  (图源 :[pixabay](https://pixabay.com/photos/lightbulb-idea-creativity-base-3104355/)) 虽然忙忙碌碌把自己搞得晕头转向也没啥成果产生,但还是乐此不疲。不由得曾经一个前上司说的一句话:***生命在于折腾***。 确实如此呀,模仿那句经典的我思故我在,咱也整上一句***我折腾故我在***,哪天真的彻底不折腾了,那一定是嘎了。话说,这句会被载入史册不? 说到用SQL做数据分析,O哥写了好多条好大坨(咦,为什么要用`坨`这个量词呢?好像不太文雅呀😳)极其复杂的SQL查询。 然后O哥就发现,要在好大坨的极其复杂的SQL查询上做一些修改让它完成不同功能,是一件极其令人抓狂的事情,因为改来改去,把SQL弄得乱七八糟,更加复杂了。 于是O哥想了一个极傻的方法,那就是每实现一个功能,备份一条大坨SQL,就导致LINQPad中的SQL查询越来越多,找起来越来越复杂。 让O哥想一下,以前有没有遇到过类似问题呢?又是怎么解决的呢?抓耳挠腮想了半天,发现还真没遇到过。 以前我都是在程序中使用SQL,就是用来做最最最基本、最最简单的查询,然后再又程序来进行数据加工,得到我想要的数据,所以根本就谈不上复杂,也不存在把自己搞迷糊的情况。 而现在的情况是O哥总想着让SQL自己就是一个程序,把所有能做的事情都做了,不用再额外使用程序对数据进行处理加工了,这样当然就弄得极其复杂了。 习惯了这样操作而且发现这样操作大多时候可以满足我的需求之后,再也不想用以前的方法了。那如何破解当前的窘境呢? 以前写程序的时候会根据功能或者逻辑定义多个文件,还会选择把常用的逻辑包装成函数(或者模块之类的),但是在SQL查询中这样弄无疑会让原本简单的事情更加复杂,而且我总担心会不会影响性能? 在研究半天各种高级功能晕头转向之后,我突然想到何不使用注释呢?如果针对不同的功能使用注释进行相应的开关,不就搞定了嘛? 注释大法是我以前在各种程序打开关闭不同功能时常用的方法,只是以往从来没有在SQL中这样用过(简单的SQL也根本不需要这样用),倒是犯了灯下黑的错误呢。 SQL注释分单行和多行注释,语法分别是单行注释用`-- `多行注释用`/* ... */`,当然也可以不嫌麻烦用单行注释来逐行注释。 单行注释的例子(以及逐行注释): ``` -- SELECT * FROM Users -- WHERE Age > 18 -- ORDER BY Name ``` 多行注释的例子: ``` /* 注释的第一行 注释的第二行 注释的第三行 */ SELECT * FROM Users ``` 是不是很简单? 让人有些头疼的是,不同语言,单行多行注释更有各的方法,由于经常摆弄不同语言,总犯把注释用错的低级错误。所以我整理出来一个简单的表格,这样以后就不怕弄错了。 | 注释类型 | SQL | C 语言 | PHP | Python | |----|----|---|----|----| | 单行注释 | `-- 注释内容` | `// 注释内容` | `// 注释内容` | `# 注释内容` | | 多行注释 | `/* 注释内容 */` | `/* 注释内容 */` | `/* 注释内容 */` | `''' 注释内容 '''` | 补充一下,PHP单行注释也支持`# 注释内容`,但是这样并不常用。PHP的多行注释不但支持`''' 注释内容 '''`也支持 `""" 注释内容 """`。 还有就是这些语言中都不支持多行注释`/* ... */ `的嵌套使用,会导致语法错误,也要注意。在C语言和C++中我以前还时常用宏定义来开关某段代码,也是非常方便的。 哎,又扯远了,不多扯了,继续折腾去喽。
👍 beco132, therealyme, steemtelly, rammargarita, cnfund, justinashby, joeyarnoldvn, liangfengyouren, critic-on, cst90, ethanlee, harkar, hungryharish, warmstill, drricksanchez, gunting, fee-service-new, we-are-lucky, fatman, we-are, bilpcoinbot, votehero, silversaver888, deanliu, zhangyan-123, btshuang, mygod, steemindian, lnakuma, bpcvoter3, pero82, coffee-lovers, oldman28, bungongjaro, coco666, muntaharaceh, hungryanu, eddyss, dine77, celeste413, alpha-omega, curly-q, joele, wolf-dawg, janaveda, monzo, mermaidvampire, jamzmie, xurph, natural.alfa, dallas27, love5200, travelgirl, soufianechakrouf, catwomanteresa, julian2013, kimzwarch, japanguide, ioioioioi, itchyfeetdonica, nana-hive, archisteem, jywahaha, ffcrossculture, newhope, voxmortis, quiltedduckfarm, rj-photo, vickyli, cocaaladioxine, tikatarot, pet.society, bigmoneyman, bilpcoinrecords, cnstm, armentor, im-ridd, spaminator, minloulou, likuang007, lianjingmedia, minigame, bilpcoin.pay, roberto58, moleah, htliao, korver, hmayak, lestrange, dailyke20, cur8, minminlou, kgsupport, ambarvegas, logic, magicmonk, geekgirl, steemcleaners, nanosesame, meppij, mobbs, tomiscurious, investegg, voter003, voter000, projectdignity, maxuve, travelcontest, eturnerx, msp-makeaminnow, msp-foundation, crowdwitness, bgmoha, jimhawkins, theluvbug, adm, evahe, axel-blaze, unpopular, solominer, freebornsociety, recoveryinc, samrisso, tomtothetom, michupa, belemo, movement19, dying, beffeater, abreusplinter, elderdark, joshman, belemo.leo, ambiguity, freedomring, trayan, pappyelblanco, chenlocus, zerofive, lrscarmen, lovelemon, tryskele, menny.trx, davidke20, dses, good-karma, esteemapp, esteem.app, ecency, ecency.stats, ecency.waves, namchau, halleyleow, yumisee, joeliew, vamos-amigo, bichen, steemegg, fintian, sorin.cristescu, ahmadmangazap, bhattg, digi-me, pinkhub, hiventhusiast, arka1, xplosive, joshruiz, blumela, cronicasdelcesar, albro, eolianpariah2, argo8, acantoni, mikezillo, dbfoodbank, penguinpablo, idx, abit, laoyao, midnightoil, xiaohui, helene, exec, eval, cryptonized, funnyman, hungrybear, jacuzzi, yestermorrow, hyborian-strain, tvb, cherryzz, adyiron, fusion.lover, omnivori, noblegateway, travoved, rombtc, starrouge, atyh, eric.gundam, lifeisajourney, t0xicgh0st, hive.friends, dapeng, cxy, suhunter, seikatsumkt, hivewatchers, teachblogger, fredo77200, philiprenelee, dbfbfutures, aafeng, faithpersists, sasaadrian, huigezi, vixmemon, urun, aikido.hung, jeffspace, trina77, marygong77777, nov13, littlebee4, carolin77, roswelborges, alto96, aliz7575, omarzv-sw, franzpaulie, diochen, bxt, louis88, jelly-cz, louis.pay, ahlawat, wiseagent, xiaoshuang, mrspointm, dengyanping888, uruiamme, ace108, sirsmokesalot96, jychbetter, emmali, philipmak, aellly, angelina6688, wend1go, passion-fruit, fortune-master, floatinglin, reidenling90, springlining, victory622, votebetting, rufruf, rus-lifestyle, hivebuilder, byron2025, santigs, sbi9, sbi-tokens, thedailysneak, dkkfrodo, adulruna, deggial, bai123, tayordartist, susanli3769, norberto1, almajandra, lisfabian, bulkathos, annepink, michelleeeeys, yellowbird, rosatravels, trafalgar, kaykunoichi, raindrop, traf, kattycrochet, lovequeen, atongis, azazqwe, el-dee-are-es, daveks, artonmysleeve, crypticat, iris085, olaunlimited, sunnywu, angel-baby, softworld, photographercr, tingjie, linos, xiaoyaodidi, kachy2022,