您正在使用IPV4(34.204.180.223)访问本站 您本次共访问本站 1 次
用户名: 用QQ登录本站
密 码:
验证码:
首页 软件 编程 笑话 知识 公告 台风 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

[公益] 节省一分零钱 献出一份爱心 温暖世间真情       【腾讯云】618云上GO!云服务器限时秒杀,1核2G首年95元!      
广告位招租中
2021年 建军节 3
2021年 七夕节 16
2022年 元 旦 156
2022年 春 节 187
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> 数据库 >> 内容
    最常用的SQL语句
    内容摘要: 检索数据检索单个列:SELECTpnameFROMproduct检索多个列:SELECTpname,market_price,is_hotFROMproduct检索所有列:SELECT*FROMproduct过滤检索结果中的重复数据:SELECTDISTINCTmarket_priceFROMproductDISTINCT关键字:1、返回不同的值,使用时放在......
    检索数据

    检索单个列:

    SELECTpnameFROMproduct

    检索多个列:

    SELECTpname,market_price,is_hotFROMproduct

    检索所有列:

    SELECT*FROMproduct

    过滤检索结果中的重复数据:

    SELECTDISTINCTmarket_priceFROMproduct

    DISTINCT关键字:

    1、返回不同的值,使用时放在列名的前面

    2、多查询一个及以上列时,除非你查询的所有列的数据都不同,否则所有行都将被检索出来

    限制检索结果:

    SELECTpnameFROMproductLIMIT5,5

    limit5,5指示mysql返回从行5开始的5行记录

    排序检索数据

    排序数据

    SELECTpnameFROMproductORDERBYpname

    按多个列排序数据

    SELECTpid,market_price,pnameFROMproductORDERBYmarket_price,pname

    按多个列排序时,排序列之间用,隔开,并且按列的顺序来排序数据,先排价格,后排名称

    指定排序方向

    降序排序(按照价格降序排序)

    SELECTpid,market_price,pnameFROMproductORDERBYmarket_priceDESC

    升序排序(mysql查询时默认就是升序排序)

    SELECTpid,market_price,pnameFROMproductORDERBYmarket_priceASC

    找出价格最贵的商品(使用orderBY和limit关键字)

    SELECTmarket_priceFROMproductORDERBYmarket_priceDESCLIMIT1

    过滤数据

    使用WHERE子句

    价格等于19800的商品

    SELECTpname,market_priceFROMproductWHEREmarket_price=19800

    价格小于于19800的商品

    SELECTpname,market_priceFROMproductWHEREmarket_price<19800

    价格大于800的商品

    SELECTpname,market_priceFROMproductWHEREmarket_price>800

    价格在800到10000之间

    SELECTpname,market_priceFROMproductWHEREmarket_priceBETWEEN800AND10000

    where中的操作符有以下几个

    =等于

    <>不等于

    !=不等于

    <小于

    <=小于等于

    >大于

    >=大于等于

    BETWEEN在指定的两个值之间

    数据过滤

    组合where语句

    and操作符(同时符合where后面的条件)

    SELECTpname,market_priceFROMproductWHEREmarket_price>1000ANDis_hot=0

    or操作符(只需要符合where后面的一个条件的结果都会显示出来)

    SELECTpname,market_priceFROMproductWHEREmarket_price>1000ORis_hot=0

    IN操作符(用来指定条件范围)

    SELECTpname,market_priceFROMproductWHEREmarket_priceIN(238,19800,1120)ORDERBYpname

    NOT操作符(否定它之后所跟的条件)

    SELECTpname,market_priceFROMproductWHEREmarket_priceNOTIN(238,19800,1120)ORDERBYpname

    用通配符进行过滤

    like操作符(通配符模糊搜索)

    %通配符(找出product表中所有商品名以韩版开头的商品)

    SELECTpnameFROMproductWHEREpnameLIKE'韩版%'

    找出product表中商品名称含有“女”的商品,不管开头结尾是什么内容

    SELECTpnameFROMproductWHEREpnameLIKE'%女%'

    下划线_通配符(用途和%一样,不过_只匹配单个字符)

    SELECTpname,market_priceFROMproductWHEREmarket_priceLIKE'_99'

    正则表达式搜索

    基本字符串匹配

    SELECTpnameFROMproductWHEREpnameREGEXP'韩版'ORDERBYpname

    使用正则表达式需要用REGEXP关键字,并在REGEXP后面跟上正则表达式内容

    SELECTpnameFROMproductWHEREpnameREGEXP'.版'ORDERBYpname

    .是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符

    Mysql中的正则表达式不区分大小写,如果要区分大小写可以使用BINARY

    SELECTpnameFROMproductWHEREpnameREGEXPBINARY'Abc'ORDERBYpname

    OR匹配

    SELECTpnameFROMproductWHEREpnameREGEXP'a|b'

    几种常见的正则表达式

    [0-9]匹配0-9之间的数字

    [123]Ton匹配1Ton或者2Ton或者3Ton

    .匹配特殊字符.

    [:alnum:]任意字母和数字(同[a-zA-Z0-9])

    [:alpha:]任意字符(同[a-zA-Z])

    [:blank:]空格和制表(同[t])

    [:cntrl:]ASCII控制字符(ASCII0到31和127)

    [:digit:]任意数字(同[0-9])

    [:graph:]与[:print:]相同,但不包括空格

    [:LOWER:]任意小写字母(同[a-z])

    [:print:]任意可打印字符

    [:punct:]既不在[:alnum:]又不在[:cntrl:]中的任意字符

    [:SPACE:]包括空格在内的任意空白字符(同[fnrtv])

    [:UPPER:]任意大写字母(同[A-Z])

    [:xdigit:]任意十六进制数字(同[a-fA-F0-9])

    匹配多个实例

    *0个或多个匹配

    +1个或多个匹配(等于{1,})

    ?0个或1个匹配(等于{0,1})

    {n}指定数目的匹配

    {n,}不少于指定数目的匹配

    {n,m}匹配数目的范围(m不超过255)

    定位符

    ^文本的开始

    $文本的结尾

    [[:<:]]词的开始

    [[:>:]]词的结尾

    创建计算字段

    连接字段(将商品名称和商品价格连接起来)

    SELECTCONCAT(pname,'(',market_price,')')FROMproductORDERBYpname

    CONCAT需要一个或多个指定的串,各个串之间用逗号分隔。

    AS给字段赋予别名

    SELECTCONCAT(pname,'(',market_price,')')ASnameAndPriceFROMproductORDERBYpname

    执行算术运算

    SELECTpname,market_price,shop_price,market_price+shop_priceASsumpriceFROMproduct

    使用数据处理函数

    文本处理函数

    LEFT返回串左边的字符

    LENGTH返回串的长度

    LOCATE找出串的一个子串

    LOWER将串转换为小写

    LTRIM去掉串左边的空格

    RIGHT返回串右边的字符

    RTRIM去掉串右边的空格

    SOUNDEX返回串的SOUNDEX值

    SUBSTRING返回子串的字符

    UPPER将串转换为大写

    日期和时间处理函数

    ADDDATE增加一个日期(天、周等)

    ADDTIME增加一个时间(时、分等)

    CURDATE返回当前日期

    CURTIME返回当前时间

    DATE返回日期时间的日期部分

    DATEDIFF计算两个日期之差

    DATE_ADD高度灵活的日期运算函数

    DATE_FORMAT返回一个格式化的日期或时间串

    DAY返回一个日期的天数部分

    DAYOFWEEK对于一个日期,返回对应的星期几

    HOUR返回一个时间的小时部分

    MINUTE返回一个时间的分钟部分

    MONTH返回一个日期的月份部分

    NOW返回当前日期和时间

    SECOND返回一个时间的秒部分

    TIME返回一个日期时间的时间部分

    YEAR返回一个日期的年份部分

    数值处理函数

    ABS返回一个数的绝对值

    COS返回一个角度的余弦

    EXP返回一个数的指数值

    MOD返回除操作的余数

    PI返回圆周率

    RAND返回一个随机数

    SIN返回一个角度的正弦

    SQRT返回一个数的平方根

    TAN返回一个角度的正切

    汇总数据

    聚集函数

    AVG返回某列的平均值

    COUNT返回某列的行数

    MAX返回某列的最大值

    MIN返回某列的最小值

    SUM返回某列值之和

    SELECTAVG(market_price)FROMproduct

    SELECTMAX(market_price)FROMproduct

    SELECTSUM(market_price)FROMproduct

    分组数据

    分组函数

    GROUPBY按照名称分组,查询出表中相同名称的商品各有多少件

    SELECTpname,COUNT(*)FROMproductGROUPBYpname

    HAVING过滤分组

    SELECTpname,COUNT(*)FROMproductGROUPBYpnameHAVINGCOUNT(*)>2

    HAVING和WHERE的差别这里有另一种理解方法,WHERE在数据

    分组前进行过滤,HAVING在数据分组后进行过滤。这是一个重

    要的区别,WHERE排除的行不包括在分组中。这可能会改变计

    算值,从而影响HAVING子句中基于这些值过滤掉的分组。

    SELECT语句的执行顺序

    SELECT要返回的列或表达式是

    FROM从中检索数据的表仅在从表选择数据时使用

    WHERE行级过滤否

    GROUPBY分组说明仅在按组计算聚集时使用

    HAVING组级过滤否

    ORDERBY输出排序顺序否

    LIMIT要检索的行数否


    版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
    上一篇:数据库操作 下一篇:mysql 直接拷贝data 目录下文件还原数据的实
    发布日期:2021/7/16
    手机扫二维码直达本页
    发布时间:14:23:21
    点击:145
    录入:齐天大圣
    相关文章
    Baidu

    YiJiaCMS V5.9 Build 21.7.20(MSSQL) 闽ICP备05000814号-1
    本空间由景安网络提供,百度云加速提供加速防护
    ©2000-2021