zoukankan      html  css  js  c++  java
  • SQL易忽视的细节

    推荐:

    SQL语句优化http://blog.csdn.net/u011225629/article/details/50492403

    1.主键中的值不允许修改或更新,主键值不能重用(如果某行从从列中删除,它的主键不能赋给以后的新行)。在使用多列做主键时,这多个列的组合必须是唯一的,但单个列的值可以不唯一。

    2.SQL不区分大小写,但通常列名表名小写,关键字大写。所有的空格都被忽略。

    3.DISTINCT关键字指示数据库只返回不同的值,注意它作用于所有列,而不仅仅是直接跟在它后面的那一列。

    4.带OFFSET的LIMIT 指定返回的行数和检索的起始行,第一个被检索的行是第0行。

    5.ORDER BY子句应保证是SELECT语句中的最后一条子句。DESC关键字只应用到直接位于其前面的列名。

    6.用单引号来限定字符串。

    7.BETWEEN匹配范围中的所有值包括指定的开始值和结束值。

    8.通过过滤选择不包含指定值的所有行时,不返回包含NULL值的行,因此过滤数据时一定要验证被过滤列中含NULL 的行确实出现在返回的数据中。

    9.OR短路运算。在处理OR 操作符前,先处理AND操作符。

    10.IN取一组由逗号分隔,括在圆括号中的合法值,与NOT 联合使用时,可以非常简单的找出与条件不匹配的行。

    e.i.WHERE NOT vend_id IN ( 'DLL01', 'BES01' )

    11.LIKE操作符指示DBMS搜索模式使用通配符匹配。通配符有%(Access使用*),注意%匹配搜索模式的0个,1个或多个字符且不匹配NULL,_匹配单个字符,[]在指定字符集内匹配单个字符,此通配符用^来否定。

    12.使用+或||拼接字段,但MySQL和MariaDB需要使用特殊函数。在拼接字段时需要注意许多数据库保存填充为列宽的文本值,为了正确返回格式化的数据常常使用RTRIM()去掉右边的所有空格。

    13.计算字段用AS赋予别名(当然AS也可以对某字段进行重命名),别名既可以是一个单词也可以是一个字符串,当别名是字符串时需要括在括号中。

    14.只使用SELECT(不需要FROM)可以检验函数,测试计算。

  • 相关阅读:
    Delphi XE4 FireMonkey 开发 IOS APP 发布到 AppStore 最后一步.
    Native iOS Control Delphi XE4
    Delphi XE4 iAD Framework 支持.
    using IOS API with Delphi XE4
    GoF23种设计模式之行为型模式之命令模式
    Android青翼蝠王之ContentProvider
    Android白眉鹰王之BroadcastReceiver
    Android倚天剑之Notification之亮剑IOS
    Android紫衫龙王之Activity
    GoF23种设计模式之行为型模式之访问者模式
  • 原文地址:https://www.cnblogs.com/jenayfighting/p/5152311.html
Copyright © 2011-2022 走看看