2. 简单的表查询

前言

:one: :mysql环境准备

上一章,我们准备环境:安装数据库+创建数据库+创建用户+授权。

这一章:参考《sql必知必会》chapter4~7

简单的单表查询:导入表+表查询

mysql-client中没有设置的时候,无法table自动补齐。敲起来,太慢。

安装一个mycli ,table补齐,很好用。mycli 官网

sudo apt install mycli

[toc]

总结与摘要

首先要有表,表中有内容;书中已经给了脚本,我们采用脚本导入。

表的常规操作:增删改查。

我们这里,仅仅整理下简单的单表查询。

这里不列出具体的语法格式,具体格式,用help select查看。

selet[select 选项] 字段列表[字段别名]  from 数据源
    [where条件字句]
    [limit 字句]
    [order by 字句]

导入表

关于表结构与脚本下载,见书上的附录B。或者参看:mysql必知必会脚本

脚本下载:http://www.forta.com/books/0672325675/

参考:用source 命令导入mysql数据库

表查询

  • 查询列:单列,多列,所有列,限定表名

  • 限定:不重复distinct、限制输出行数limit

  • 过滤数据:where

  • 输出样式:按照顺序输出order、按照格式输出

一条查询语句暂时可以划分成上面四个部分;我们简单举例说道说道。

查询列

查询单列,多列,所有列。

限定表名。

现在查询的是单表。后面多表,子查询的时候,限定表名是很好的。(咋个好法?)

限定

参考:MySQL的limit使用及解决超大分页问题

过滤数据

  • where单一条件:相等、不相等、大于、小于、值的范围以及NULL值

  • where多个条件:and、or

  • where子查询:in、not、exists

参考文章:mysql中in和exists性能对比及原理

输出样式

检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控制的话,不能(也不应该)依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义

参考文章:mysql select 格式化输出

参考文章

mycli 官网

用source 命令导入mysql数据库

MySQL的limit使用及解决超大分页问题

mysql中in和exists性能对比及原理

mysql select 格式化输出

解决MySQl查询不区分大小写

最后更新于

这有帮助吗?