索引

Sorting Retrieved Data

mysql> SELECT *
-> FROM manga
-> ORDER BY manga_name;
+----------+-----------------------+-------------------+--------------+
| manga_id | manga_name | manga_discription | manga_status |
+----------+-----------------------+-------------------+--------------+
| 1005 | 2asdasds | dasd | 0 |
| 1006 | 3dasdas) | 别出心裁 | 0 |
| 1007 | 4444444444 | 3333 | 0 |
| 1004 | dasda | 23123 | 0 |
mysql> SELECT *
-> FROM manga
-> ORDER BY manga_name, manga_discription; # 先按 name 排,然后按 discription
+----------+-----------------------+-------------------+--------------+
| manga_id | manga_name | manga_discription | manga_status |
+----------+-----------------------+-------------------+--------------+
| 1005 | 2asdasds | dasd | 0 |
| 1006 | 3dasdas) | 别出心裁 | 0 |
| 1007 | 4444444444 | 3333 | 0 |
| 1004 | dasda | 23123 | 0 |
mysql> SELECT *
-> FROM manga
-> ORDER BY manga_name DESC, manga_discription; # 第一次排是降序(Z~A),第二次(内部排)还是正常序(A~Z)
+----------+-----------------------+-------------------+--------------+
| manga_id | manga_name | manga_discription | manga_status |
+----------+-----------------------+-------------------+--------------+
| 1000 | 至不死的你 | 以为是哲学 | 0 |
| 1001 | 烙印勇士 | 好看到哭 | 0 |
| 1002 | 幸福(happiness) | 别出心裁 | 0 |
| 1003 | 东京食尸鬼 | 美食动漫 | 0 |

Using a combination of ORDER BY and LIMIT, it is possible to find the highest or lowest value in a column. The following example demonstrates how to find the value of the most expensive item:

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

Position of ORDER BY Clause When specifying an ORDER BY clause, be sure that it is after the FROM clause. If LIMIT is used, it must come after ORDER BY. Using clauses out of order will generate an error message.

SQL Versus Application Filtering

Data can also be filtered at the application level. To do this, the SQL SELECT statement retrieves more data than is actually required for the client application, and the client code loops through the returned data to extract just the needed rows.

As a rule, this practice is strongly discouraged. Databases are optimized to perform filtering quickly and efficiently. Making the client application (or development language) do the database's job dramatically impacts application performance and creates applications that cannot scale properly. In addition, if data is filtered at the client, the server has to send unneeded data across the network connections, resulting in a waste of network bandwidth resources.

The WHERE Clause Operators

mysql> SELECT manga_id, manga_name
-> FROM manga
-> WHERE manga_name='big';
+----------+------------+
| manga_id | manga_name |
+----------+------------+
| 1008 | BIG |
| 1009 | big |
| 1010 | Big |
| 1011 | BiG |
+----------+------------+
4 rows in set (0.00 sec)

By default, MySQL is not case sensitive when performing matches, and so fuses and Fuses matched.

不过需要注意的是 LIKE + '通配符语句' 是 case-sensitive (大小写敏感的)

/

mysql> SELECT manga_id, manga_name
-> FROM manga
-> WHERE manga_id BETWEEN 1005 AND 1007;
+----------+------------+
| manga_id | manga_name |
+----------+------------+
| 1005 | 2asdasds |
| 1006 | 3dasdas) |
| 1007 | 4444444444 |
+----------+------------+
3 rows in set (0.00 sec)

/

mysql> SELECT manga_id, manga_name
-> FROM manga
-> WHERE manga_name IS NULL;
Empty set (0.00 sec)

网上有建议说 尽可能设定默认值而不是用 NULL

MySQL Crash Course #03# Chapter 5. 6 排序. BETWEEN. IS NULL的更多相关文章

  1. MySQL Crash Course #13# Chapter 21. Creating and Manipulating Tables

    之前 manipulate 表里的数据,现在则是 manipulate 表本身. INDEX 创建多列构成的主键 自动增长的规定 查看上一次插入的自增 id 尽量用默认值替代 NULL 外键不可以跨引 ...

  2. MySQL Crash Course #11# Chapter 20. Updating and Deleting Data

    INDEX Updating Data The IGNORE Keyword Deleting Data Faster Deletes Guidelines for Updating and Dele ...

  3. MySQL Crash Course #10# Chapter 19. Inserting Data

    INDEX BAD EXAMPLE Improving Overall Performance Inserting Multiple Rows INSTEAD OF Inserting a Singl ...

  4. MySQL Crash Course #06# Chapter 13. 14 GROUP BY. 子查询

    索引 理解 GROUP BY 过滤数据 vs. 过滤分组 GROUP BY 与 ORDER BY 之不成文的规定 子查询 vs. 联表查询 相关子查询和不相关子查询. 增量构造复杂查询 Always ...

  5. MySQL Crash Course #04# Chapter 7. 8 AND. OR. IN. NOT. LIKE

    索引 AND. OR 运算顺序 IN Operator VS. OR NOT 在 MySQL 中的表现 LIKE 之注意事项 运用通配符的技巧 Understanding Order of Evalu ...

  6. MySQL Crash Course #21# Chapter 29.30. Database Maintenance & Improving Performance

    终于结束这本书了,最后两章的内容在官方文档中都有详细介绍,简单过一遍.. 首先是数据备份,最简单直接的就是用 mysql 的内置工具 mysqldump MySQL 8.0 Reference Man ...

  7. MySQL Crash Course #20# Chapter 28. Managing Security

    限制用户的操作权限并不是怕有人恶意搞破坏,而是为了减少失误操作的可能性. 详细文档:https://dev.mysql.com/doc/refman/8.0/en/user-account-manag ...

  8. MySQL Crash Course #19# Chapter 27. Globalization and Localization

    Globalization and Localization When discussing multiple languages and characters sets, you will run ...

  9. MySQL Crash Course #18# Chapter 26. Managing Transaction Processing

    InnoDB 支持 transaction ,MyISAM 不支持. 索引: Changing the Default Commit Behavior SAVEPOINT 与 ROLLBACK TO ...

随机推荐

  1. ajax跨域获取返回值

    js代码 $.ajax({ async:false, url: 'https://***/api/prepareApi.getDanMu?sqlMapId=findBarrage', // 跨域URL ...

  2. POJ-1189 钉子和小球(动态规划)

    钉子和小球 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7452 Accepted: 2262 Description 有一个 ...

  3. 字符串匹配-KMP

    节选自 https://www.cnblogs.com/zhangtianq/p/5839909.html 字符串匹配 KMP O(m+n) O原来的暴力算法 当不匹配的时候 尽管之前文本串和模式串已 ...

  4. python面向对象高级:定制类

    Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类. 比如: __str__ 与__repr____iter____getitem____call__ __str__ 与__r ...

  5. nautilus

    在~/.bashrc中定义命令别名,添加以下命令: # some more nautilus aliases alias here='nautilus . > /dev/null 2>&a ...

  6. centos7 安装composer

    命令: 1.下载composer wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer 2.赋予权限 c ...

  7. Intellij Idea常用配置设置

    1.配置Intellij Idea的配置文件从默认c盘转移到其他盘符 找到Intellij idea的安装文件,在bin目录下找到idea.properties配置文件,如下把Idea的配置文件夹和I ...

  8. AMD 和 CMD 的区别有哪些

    在说AMD 和 CMD 的区别之前,先说明commonjs,它的回调和amd.cmd的不同于:commomjs加载完了所有模块,才执行回调amd和cmd是加载对应的模块,就可以执行回调中对应的代码 1 ...

  9. 【Python】详解Python多线程Selenium跨浏览器测试

    前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏 ...

  10. SQL SERVER与ORACLE的几点区别

    1.数据类型不同.      sql server 的数据类型 int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatet ...