MySQL学习系列之三——不做限制的查询

在上一篇内容中介绍了对表字段的增加、修改、删除操作。

在本篇内容中,我们将会介绍一些简单的查询语句。具体包括全表查询,查询部分字段,返回固定条数的查询以及对查询结果进行排序。

由于还没有介绍如何在表里插入数据,所以下面给出建表语句和插入数据的语句,方便大家练习。

建表语句:

CREATE TABLE customers

(

cust_id int NOT NULL AUTO_INCREMENT,

cust_name char(50) NOT NULL ,

cust_address char(50) NULL ,

cust_city char(50) NULL ,

cust_state char(5) NULL ,

cust_zip char(10) NULL ,

cust_country char(50) NULL ,

cust_contact char(50) NULL ,

cust_email char(255) NULL ,

PRIMARY KEY (cust_id)

);

插入数据语句:

INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)

VALUES(10001, 'Coyote Inc.', '200 Maple Lane', 'Detroit', 'MI', '44444', 'USA', 'Y Lee', 'ylee@coyote.com');

INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)

VALUES(10002, 'Mouse House', '333 Fromage Lane', 'Columbus', 'OH', '43333', 'USA', 'Jerry Mouse');

INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)

VALUES(10003, 'Wascals', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'rabbit@wascally.com');

INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)

VALUES(10004, 'Yosemite Place', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'USA', 'Y Sam', 'sam@yosemite.com');

INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)

VALUES(10005, 'E Fudd', '4545 53rd Street', 'Chicago', 'IL', '54545', 'USA', 'E Fudd');

在数据库中执行完成后,在表customers中就有了对应的数据,以便我们练习查询。

1.全表查询:使用select关键字。用 * 表示需要查询的表中所有的字段。

基本语法:select * from 表名

例如:查询customers表中所有的字段

select * from customers;

2.查询表中部分字段

基本语法:select 字段1,字段2,...from 表名

例如:查询customers表中cust_name 和cust_city 两个字段

select cust_name, cust_city from customers;

3.去重查询 关键字:distinct

在对结果进行查询的时候,有时候,我们想要知道该字段有多少不重复的值,这时候我们就需要对查询结果进行去重。

基本语法:select distinct 字段1,字段2 from 表名

例如:我们想要知道客户所在的cust_city 分别有哪些值

select distinct cust_city from customers;

需要注意的是,distinct对其后跟随的所有字段都生效。

例如:select distinct cust_city,cust_name from customers;

只要两条数据中,cust_city和cust_name 任何一个值不相同,两条数据都会被查询出来。

4.对查询结果进行限制 关键字:limit

在查询的过程中,我们并不需要一次返回所有的结果,这时候,我们需要对返回结果数进行限制。

例如:我们需要返回查询结果前三行

select * from customers limit 3;

在这里,3表示返回的结果数从第一行开始不多于3行。

那么,如果我们想要得到第二到四行数据怎么办呢?

select * from customers limit 1,3;

在数据库中,数据条数是从0开始计算的,所以,在上述语句中,1表示第二行,3表示需要返回的数据条数。limit 1,3表示从第二行开始返回三条数据。行数不够时,系统会返回能返回的所有数据。

5.对查询结果进行排序 关键字:order by

例如:我们需要以cust_id为排序依据进行排序

select cust_id,cust_name from customers order by cust_id;

如果需要以多个字段为排序依据,可以在order by 后面跟多个字段,中间用 , 隔开。

6.指定排序方向 关键字 asc desc

数据库默认的排序方式为从小到大(正向)排序,有时候我们需要对查询结果进行从大到小(逆向)排序,这时候,可以使用关键字desc。

select cust_id,cust_name from customers order by cust_id desc;

asc表示从小到大(正向)排序,与系统默认一致。

有时候我们会有一些需求,比如按照cust_id从小到大(正向)排序,但是需要按照cust_name从大到小(逆向)排序,可以写成如下方式:

select * from customers order by cust_name desc,cust_id;

就可以满足我们的需求。

limit 和order by 混合使用,可以查询出最值,比如,部门工资最高的员工信息,部门工资排前三的员工信息等。

这一篇的内容就这么多啦,喜欢的小伙伴们麻烦点个赞呀,要是可以转发就更好了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容

  • 这一篇最主要是记录下命令,方便以后查找 使用Mysql 创建数据库 create database mysql_t...
    Treehl阅读 576评论 0 0
  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,156评论 0 33
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,790评论 5 116
  • 2016年05月15日 从小被灌输的理念就是出现问题从自身找原因,如果将问题归于别人,那么就好像在灼烧自己的道德,...
    小花Ivan阅读 867评论 0 0
  • 点击这里:KeyChain and TouchID Demo 首先需要引入一个库#import <LocalAut...
    Joyous阅读 1,791评论 1 2