mysql笔记:9. 数据查询


数据库管理系统的一个最重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。

一、SELECT语句

从数据库表中查询数据的基本语句为SELECT语句,语法如下:

SELECT 属性列表
FROM 表名和视图
{WHERE 条件表达式}
{GROUP BY 属性名}
{HAVING 条件表达式}
{ORDER BY 属性名 ASC | DESC}

所有被使用的子句必须按语法说明中显示的顺序严格地排序。

二、简单查询

1. 查询表所有数据

  1. 列出表中所有字段
    在SELECT语句的属性列表中列出查询表的所有字段,从而可以查询表中所有数据。
  2. 使用星号通配符
    SELECT语句的属性列表可以为星号*,语法格式:
SELECT * FROM table_name;
SELECT * FROM table_name\G;

在执行SQL语句时,有时返回的数据中字段非常多,无法在CMD窗口的一行全部展示,而如果将字段名称显示在多行,会导致字段下的数据不能和字段名称展示在同一列,显示结果非常混乱。
使用结束符\G,可以将结果以纵向结构显示,在字段非常多时,能让显示结果更加整齐美观。

2. 查询部分数据

在SELECT语句的属性列表中指定要查找的字段名称,可以有针对性的查询结果。

MySQL中的SQL语句是不区分大小写的。因此,SELECT和select是相同的。很多书籍推荐将关键字大写,表名和数据列使用小写。
我认为,应该全部使用小写,并且我在平时的工作中也是这么做的。理由如下:
一、使用大写+小写需要切换输入法,降低开发速度,所有全部小写可以更快的编写SQL语句。
二、时间相同的情况下,单词小写的识别正确率高于大写的正确率,所以小写的SQL语句更容易识别和维护。

3. 计算结果

在查询时,可以根据需要使用算术运算符或逻辑运算符对查询结果进行处理。
例如,表emp中有员工姓名name和当前工资salary,可以查询员工工资和调薪20%以后的工资。

SELECT name, salary, salary + salary*0.2 AS salary_new FROM emp;

4. 列别名

显示查询结果时,选择的列通常是以原表中的列名作为标题。但列名通常比较简短、甚至在一些情况下含义也模糊。为改善查询结果的显示,可以在SELECT语句的列名后使用AS 新列名重新命令该列。

AS:关键字。可有可无。

5. 去除重复项

使用DISTINCT选项可以在查询结果中删除重复项。

6. 表别名

如果要查询的数据表名称较长时使用不太方便,可以为表取一个别名来代替,简化查询SQL。

7. LIMIT限制数据

当数据表中包含大量数据时,可以通过指定显示记录数限制返回结果集中的行数。
LIMIT用法有两种:

  1. 指定初始位置
    LIMIT offset, row_count
    offset指定返回的第一行的偏移量。初始行的偏移量是0,不是1。
    row_count指定返回的行数的最大值。
  2. 不指定初始位置
    LIMIT row_count

三、WHERE子句

WHERE子句用于给定源表和视图中记录的筛选条件,只能符合筛选条件的记录才能入选结果集。

1. 比较查询条件

在查询条件中使用比较运算符进行比较。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值