安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

不懂就问SQL语句中where条件后写上11是什么意思?

5月17日 观潮阁投稿
  程序员在编程过程中,经常会在代码中使用到where11,这是为什么呢?
  SQL注入
  初次看到这种写法的同学肯定很纳闷,加不加where11,查询不都一样吗?例如:
  
  与
  selectfromcustomerswhere11;
  查询出来的结果完全没有区别呀。
  是的,上面的查询结果是没有区别,但是这并不是我们要添加它的目的。我们知道11表示true,即永真,在SQL注入时配合or运算符会得到意向不到的结果。
  例如,当我们要删除客户名称为张三的记录,我们可以这样写:
  deletefromcustomerswherename张三
  这个时候如果在where语句后面加上or11会是什么后果?
  即:
  deletefromcustomerswherename张三or11
  本来只要删除张三的记录,结果因为添加了or11的永真条件,会导致整张表里的记录都被删除了。
  当然这种事我们可千万不能干,也不能让别人有机可乘,这里只是为了表述where11的作用之一。
  语法规范
  我们在写代码的过程中,为了保证语法规范的时候,也会使用到where11。
  我们先看下面这段Java代码:
  Stringsqlselectfromtablenamewhere11;
  if(condition1){
  sqlsqlandvar2value2;
  }
  if(condition2){
  sqlsqlandvar3value3;
  }
  如果我们不写11的话,当condition1为真时,代码拼接后被执行的SQL代码如下:
  selectfromtablenamewhereandvar2value2;
  很明显,这里会出现一个SQL的语法错误:and必须前后都有条件。
  有人说我直接把where写在if语句里面,我就不写where11。
  S
  if(condition1){
  sqlsqlwherevar2value2;
  }
  if(condition2){
  sqlsqlwherevar3value3;
  }
  当condition1为真,condition2为假时,上面被执行的SQL代码为:
  selectfromtablenamewherevar2value2;
  这个确实没有语法错误,但是当condition1和condition2都为真呢?那么SQL语句就变成了这样:
  selectfromtablename
  wherevar2value2
  wherevar3value3;
  很明显这是不符合SQL语法规范的。
  这里写上where11是为了避免where关键字后面的第一个词直接就是and而导致语法错误,加上11后,不管后面有没有and条件都不会造成语法错误了。
  在我们进行数据备份时,也经常使用到where11,当然其实这两可以不写,写上之后如果想过滤一些数据再备份会比较方便,直接在后面添加and条件即可。
  createtabletablename
  as
  selectfromSourcetable
  where11;
  复制表结构
  有11就会有11或12之类的永假的条件,这个在拷贝表的时候,加上where11,意思就是没有任何一条记录符合条件,这样我们就可以只拷贝表结构,不拷贝数据了。
  createtabletablename
  as
  selectfrom
  Sourcetablewhere11;
  11的性能问题
  在MySQL早期的版本中where11可能会对有所影响,使用了where11的过滤条件以后数据系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(即全表扫描)以比较此行是否满足过滤条件,当表中数据量较大时查询速度会非常慢。
  但在5。6版本(也可能更早几个版本)以后这个问题被优化了,在写where11时,查询分析器会将11处理掉,所以不会对查询造成性能影响,感兴趣的小伙伴可以试验一下,反正我试过了图片。
  最后,如果本文对你由帮助,可以点赞转发支持下,感谢!
投诉 评论 转载

不懂就问SQL语句中where条件后写上11是什么意思?程序员在编程过程中,经常会在代码中使用到where11,这是为什么呢?SQL注入初次看到这种写法的同学肯定很纳闷,加不加where11,查询不都一样吗?例如:……不管什么手机,管理好后台自启动运行,再用3年也很流畅可能很多人都不清楚,其实在我们的手机里面有一个功能的存在,只要打开它就可以限制后台的程序运行,瞬间让手机流畅地运行起来。对于安卓手机用户来说,都会遇到一个老大难的问题,就……噩耗再次传来,滴滴只能自保,网约车司机挺住网约车突然进入下半场,各家平台喜提空白期,纷纷高调争抢市场。首汽约车、曹操出行、一喂顺风车等平台你追我赶,这样下去,格局或将迎来新变化。眼见行业竞争日渐激烈,其实真……反垄断局公示!极兔收购百世国内快递业务有关键进展极兔68亿元收购百世集团国内快递业务有了最新进展。11月22日,国家市场监管总局反垄断局官网发布极兔速递有限公司收购杭州百世网络技术有限公司股权案的经营者集中简易案件公示表。这……两款骁龙8Plus新机曝光,摩托罗拉再次抢在小米前面去年年底,小米的雷总曾信誓旦旦地表示将首发骁龙8Gen1,结果尴尬的是,摩托罗拉EdgeX30还是抢在小米面前首发了骁龙8Gen1处理器。其实从骁龙865开始,两家就在抢首发这……5分钟卖出8亿销售额,卢伟冰再次封神红米系列一直都是十分受消费者欢迎的手机,在性价比市场独占鳌头的,可以说是性价比手机的代名词了。就在之前红米宣布即将发布红米k50的消息时,就引起了消费者一波不小的关注,就在这部……推荐三款可以用很久的手机,性能颜值俱佳,不爱换手机的来看啦买手机还在犹豫吗,不要慌,来看看这几款手机,要配置有配置,要颜值有颜值,几乎没啥缺点,关键是都还能用个三五年,不爱换手机的小伙伴来看看呦。第一款:小米12说到手机钉……长期戴助听器是否有害?根据自己的情况佩戴适合的助听器是没有害的。首先,我不是专业人士,个人认为,助听器的作用和眼镜差不多,视力不好戴眼镜,听力不好带助听器,那么戴眼镜久了就摘不下来了,一旦摘下……55英寸电视机哪个品牌的好?Sony是你不二选择买不了吃亏买不了上当近期上市的55寸电视中,TCL的S12无论是在画质表现,还是在音质表现上都相当不错。这款S12是高色域显示屏,可以真实还原画……华为四登春晚让科技飞入寻常百姓家欧界欧界报道:随着2022年春晚也圆满落下帷幕,也代表着除夕夜的结束。今年春晚不负所望、精彩纷呈,有欢声笑语的热闹,也有潸然泪下的感动。。。。。尤其春晚引爆多个热点话题,让网……资本邦荣获21财经年度创作者大奖最具人气奖在新金融、新经济的背景下,要把握以现代互联网技术应用下的新金融业态和机遇,5G时代的到来,数字化和智能化已成财经内容生产势不可挡之潮流。南财号平台依托21财经客户端建设运……手机APP能成为学习利器吗?手机学习需自律东南网1月7日讯(本网记者陈楠)孩子的学习问题一直是很多家长关心的事。近年来,随着移动互联网和多媒体的发展,手机学习成为越来越多孩子和家长的选择。手机学习真的靠谱吗?五花八门的……
华为鸿蒙OS真的是拼命了!给5年前手机升级新系统花粉们大呼良首款支持光线追踪的智能手机芯片组快手将取消房补下午茶等,互联网福利缩减会成为新趋势吗?我变秃了,也变强了!(艾伦佩利终集)阿里云现人事变动中国区总裁辞任,多名高P离职2021年最值得购买的五款手机第一个国产windows系统AMDWindows10版本0。蔚来卖不动了,李斌提前预定2022年最惨称号?李书福为何豪赌Smart?亏损超300亿都不怕!赛鲁班ROMTOKBN1000即插即用,中小型会议室开会利器产品太多!联想新品发布你想要的都有中国广电5G即将商用,你会使用吗?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利