• MySQL-排序、GROUP BY、连接、NULL值处理、正则表达式、事务


    1、MySQL排序

      语法:SQL SELECT 语句使用ORDER BY子句将查询数据排序后再返回数据

      SELECT field1,field2,...fieldN FROM table_name1,table_name2....ORDER BY field1,[field2...][ASC][DESC]

    2、MySQL GROUP BY语句

      在分组的列上可以使用COUNT,SUM,AVG等函数

      语法:SELECT column_name,function(column_name)FROM table_name WHERE column_name operator value GROUP BY column_name;

      使用WITH ROLLUP:WITH ROLLUP可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT...)

    3、MySQL连接的使用

      可以在SELECT,UPDATE,和DELETE语句中使用MySQL的JOIN联合多表查询

      INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录

      LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录

      RIGHT JOIN(右连接):与LEFT JOIN相反,用于获取右表所有记录,即使左表没有对应匹配的记录

      例:SELECT a.table1_id,a.table2_author,b.table1_count FROM table1 a INNER JOIN table2 b ON a._author = b._author;

        SELECT a._id,a._author,b._count FROM table1 LEFT JOIN table2 b ON a._author = b._author;

        SELECT b._id,b._author,a._count FROM table1 a RIGHT JOIN table2 b ON a._author = b._author;

    4、MySQL NULL值处理

      SELECT 命令及WHERE 子句读取数据表中的数据,当提供的查询条件字段为NULL时,该命令可能就无法正常工作

      IS NULL:当列的值是NULL,此运算符返回true;

      IS NOT NULL:当列的值不为NULL,运算符返回true;

      <=>:比较操作符(不同于=运算符),当比较的两个值为NULL时返回true

      例:SELECT * FROM table WHERE count IS NULL;

        SELECT * FROM table WHERE count IS NOT NULL;

    5、MySQL 正则表达式

      (1)查找name字段中以‘st’为开头的所有数据;

        SELECT name FROM person_tbl WHERE name REGEXR '^ST';

      (2)查找name字段以‘ok’为结尾的所有数据;

        SELECT name FROM person_tbl WHERE name REGEX 'OK$';

      (3)查找name字段中包含‘mar’字符串的所有数据;

        SELECT name FROM person_tbl WHERE name REGEXP 'mar';

      (4)查找name字段中以元音字符开头或以‘ok’字符串结尾的所有数据;

        SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

    6、MySQL事务

      •在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务;

      •事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行;

      •事务用来管理insert,update,delete语句

     事务必须满足4个条件(ACID):Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Dutability(可靠性)

            原子性:一组事务,要么成功;要么撤回;

            稳定性:有非法数据(外键约束之类),事务撤回;

            隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么事务会撤回。事务的100%隔离,需要牺牲速度

            可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重建修改。可靠性和高速度不可兼得

    在MySQL控制台使用事务操作

    1、开始一个事务 start transaction

    2、做保存点 savepoint 保存点名称

    3、操作

    4、可以回滚,可以提交,没有问题就提交,有问题就回滚

  • 相关阅读:
    几个新角色:数据科学家、数据分析师、数据(算法)工程师
    人类投资经理再也无法击败电脑的时代终将到来了...
    Action Results in Web API 2
    Multiple actions were found that match the request in Web Api
    Routing in ASP.NET Web API
    how to create an asp.net web api project in visual studio 2017
    网站漏洞扫描工具
    How does asp.net web api work?
    asp.net web api history and how does it work?
    What is the difference between a web API and a web service?
  • 原文地址:https://www.cnblogs.com/panpy/p/8284905.html
Copyright © 2020-2023  润新知