快速回顾MySQL:简单查询操作
利用空闲时间花几分钟回顾一下
7.1 检索数据
为了查询出数据库表中的行(数据),使用SELECE语句。
格式:
# 第一种
SELECT * FROM <table_name>;
# 第二种
SELECT field1,field2,... FROM <table_name>;
- 第一种写法使用*通配符,会把表中行的列全部查询出来,而不必取一一列出全部列。但是不推荐使用,这跟INSERT语句的规范写法一样。使用*通配符,列的顺序一般是列在表定义中出现的顺序,但有时候并不是这样的,表的模式的变化(如添加或删除列)可能会导致顺序的变化。特别是像使用INSERT SELECT这样的语句,可能会报错,甚至可能会不会报错但是数据插入错误的列。
- 推荐使用第二种,第二种查询方式可以查询表中行的全部列,也可以查询表中行的单列或多列。
- 使用通配符注意事项:虽然使用通配符可能会省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
例如:
- 单列查询:
SELECT stu_name FROM student;
- 多列查询:
SELECT stu_name, stu_sex FROM student;
- 查询全部列:
SELECT * FROM student;
# 或(推荐)
SELECT stu_id, stu_name, stu_sex FROM student;
7.2 检索不同的行
因为在表中有时候需要进行去重操作,可以使用DISTINCT关键字,让SELECT查询的结果返回不同的值。
格式:
SELECT DISTINCT field1,field2,... FROM <stable_name>;
DISTINCT关键字的注意:
- 如果是单列,那么使用该关键字会将该列作为判断去重的条件。
- 如果是多列,那么会将该多列作为判断去重的条件。
- 使用这些单列或多列作为去重条件,如果在表中都是不相同的,那么就会将所有行都查出来。
7.3 限制结果
SELECT语句返回所有匹配的行。如果为了返回第一行或前几行,那么可以使用LIMIT子句。
格式:
# 第一种(n为整数)
SELECT field1,field2,... FROM <stable_name> LIMIT n;
# 第二种 (n,m为整数, n>=0, m>=1)
SELECT field1,field2,... FROM <stable_name> LIMIT n,m;
解释:
- 第一种写法,对于查询出的数据(行)只返回不多于n行。
- 第二种写法,LIMIT后的n表示查询的开始的位置,m表示要检索的行数。即,从第n行开始查询m行。
- LIMIT后n是从0开始的,所以检索出来的第一行为行0而不是行1。因此,LIMIT 1,1 是将检索出第二行而不是第一行。
- 如果LIMIT指定要检索的行数超过表中的行数,那么MySQL将返回它能返回的那么多行。
因为有人会把LIMIT n,m的语法搞混,比如LIMIT 3,4 是从行4开始的3行还是从行3开始的4行?如上面所述,它的意思是从行3开始的4行。
所以,MySQL 5支持LIMIT的另一种代替语法:LIMIT 4 OFFSET 3,意思是从行3开始取4行。
7.4 使用完全限定的表名
到目前为止SQL例子只通过列名引用列。也可能会使用完全限定的名称来引用列(同时使用表明和列名),如下:
SELECT <stable_name>.field1,<stable_name>.field2,...
FROM <stable_name>;
在单表时可能看不出什么差别,但是在多表查询时,并且是那种有相关联的表,因为有可能两张表会有相同的列名,所以需要使用完全限定的表名来区分。
快速回顾MySQL:简单查询操作的更多相关文章
- MySQL快速回顾:高级查询操作
8.1 排序数据 检索出的数据并不是以纯粹的随机顺序显示的.如果不排序,数据一般将以它在底层表中出现的顺序显示.这可以是数据最初添加到表中的顺序.但是,如果数据后来进行过更新或删除,则此顺序将会受到M ...
- MySQL简单查询详解-单表查询
MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...
- MySQL 高级查询操作
目录 MySQL 高级查询操作 一.预告 二.简单查询 三.显示筛选 四.存储过程 五.查询语句 1.作为变量 2.函数调用 3.写入数据表 备注 附表一 附表二 相关文献 博客提示 MySQL 高级 ...
- MySQL简单查询和单表查询
MySQL记录操作 概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用 ...
- Mysql慢查询操作梳理
Mysql慢查询解释MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询 ...
- MySQL数据库查询操作进阶——多表查询
多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...
- mysql简单的操作
启动数据库服务 net start mysql 停止数据库服务 net stop mysql 退出数据库 exit 保存操作及结果 将在命令行窗口中 ...
- 快速回顾MySQL:汇总和分组
10.3 汇总数据 我们经常需要汇总数据而不用把它们实际检索处出来,为此MySQL提供了专门的函数.使用这些函数,MySQL查询可用于检索数据,以便分析和报表的生成.这种类型的检索例子有以下几种: 确 ...
- MySQL简单的操作,增删改查
B/S架构模式与C/S架构模式的区别 B/S=WEB/SERVER C/S=CLIENT/SERVIR B/S:用户通过web浏览器打开域名就能访问服务器server的方式就叫做B/S用户不需要安装任 ...
随机推荐
- HDU 1698 Just a Hook 线段树区间更新、
来谈谈自己对延迟标记(lazy标记)的理解吧. lazy标记的主要作用是尽可能的降低时间复杂度. 这样说吧. 如果你不用lazy标记,那么你对于一个区间更新的话是要对其所有的子区间都更新一次,但如果用 ...
- nginx 301 将不带www域名,重定向到www域名
// nginx 官方推荐 server { listen 80; server_name example.org; return 301 http://www.example.org$request ...
- P1094 百钱白鸡
题目描述 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱. 输入格式 无. 输出格式 输出所有 ...
- java 泛型的嵌套(map例子)
package july7; //泛型加Map的输出! import java.util.Iterator; import java.util.Map; import java.util.Map.En ...
- cccc初赛 L3-003 长城
L3-009. 长城 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 邓俊辉 正如我们所知,中国古代长城的建造是为了抵御外敌入侵.在长 ...
- P1092 电子表格
题目描述 在流行的电子表格系统中(例如,在Excel中),使用如下计算方式来对列号进行计算. 第1列对应A,第2列对应B,--,第26列对应Z.然后使用两个大写英文字母来表示列:第27列对应AA,第2 ...
- H3C DHCP系统组成
- HDU 3746 Cyclic Nacklace(kmp next数组运用)
Cyclic Nacklace Problem Description CC always becomes very depressed at the end of this month, he ha ...
- hdu 6579 Operation (在线线性基)
传送门 •题意 一个数组a有n个数 m个操作 操作① 询问$[l,r]$区间的异或值 操作② 在数组末尾追加一个数x,数组长度变为$n+1$ 其中$l,r$不直接给出,其中$l=l%n+1,r=r%n ...
- Java 学习笔记(16)——Java数据库操作
数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据 ...