参考资料:《Mysql必知必会》

创建数据表

在学习前首先创建数据表和插入数据。如何安装mysql可以看看上个博客https://www.cnblogs.com/lbhym/p/11675599.html

我的数据表和内容如下:

CREATE TABLE commodity (
id int(11) AUTO_INCREMENT,
typeid int,
name varchar(30) ,
price float ,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
AUTO_INCREMENT为自动增长,
PRIMARY KEY (id)设置id为主键
DEFAULT CHARSET=utf8;默认编码为utf8
下面再插入几条测试数据
insert into commodity values (null,1001,'牙刷',10.5),(null,1001,'毛巾',21.5),(null,1002,'茶几',999.9),(null,1003,'电视',3199),(null,1003,'冰箱',2999),(null,1004,'1 手机',1999),(null,1004,'2 手机',7699),(null,1004,'.3 手机',699.9),(null,1005,'T恤',21.5),(null,1005,'牛仔裤',99)

查询数据

1.查询单列数据

select name from commodity

输出:

牙刷
牛仔裤
毛巾
电视
茶几
冰箱
T恤
2 手机
1 手机
.3 手机

2.查询多列数据

select name,price from commodity

输出:

牙刷 10.5
毛巾 21.5
茶几 999.9
电视 3199
冰箱 2999
1 手机 1999
2 手机 7699
.3 手机 699.9
T恤 21.5
牛仔裤 99

3.查询所有列

select * from commodity

这个查询就是查询整张表格

4.查询不同的行

首先做如下查询:

select typeid from commodity

输出:

1001
1001
1002
1003
1003
1004
1004
1004
1005
1005

大家会发现有很多行重复了,如果不想出现重复的结果,可以使用distinct关键字

select distinct typeid from commodity

输出:

1001
1002
1003
1004
1005

5.限制查询结果

当我们不想查询所有行数据,只想查询指定行的数据时,就可以用到limit关键字

如下,只查询五行数据

select name from commodity limit 5

输出:

牙刷
毛巾
茶几
电视
冰箱

还可以指定开始行和行数,如下,查询从五行开始的五行数据

select name from commodity limit 5,5

输出:

1 手机
2 手机
.3 手机
T恤
牛仔裤

第一个数是开始的位置,第二个数是限定的行数。如果剩余数据不够五行,会查询剩下的所有数据。

排序查询数据

1.排序数据

可以使用order by关键字对后面跟着的字段进行排序。如下:

select * from commodity order by price

输出:

1 1001 牙刷 10.5
2 1001 毛巾 21.5
9 1005 T恤 21.5
10 1005 牛仔裤 99
8 1004 .3 手机 699.9
3 1002 茶几 999.9
6 1004 1 手机 1999
5 1003 冰箱 2999
4 1003 电视 3199
7 1004 2 手机 7699

如果指定排序的字段是字母,就按字母顺序排序

2.按多个列排序

除了上面的按一个字段排序,还可以根据多个字段来排序,如下:

select * from commodity order by typeid,price

输出:

1 1001 牙刷 10.5
2 1001 毛巾 21.5
3 1002 茶几 999.9
5 1003 冰箱 2999
4 1003 电视 3199
8 1004 .3 手机 699.9
6 1004 1 手机 1999
7 1004 2 手机 7699
9 1005 T恤 21.5
10 1005 牛仔裤 99

上述例子中:会优先按typeid排序,只有当typeid相同时,才会按price排序

3.指定排序方向

默认的排序方向时升序的,还可以按降序desc来进行排序。如下:

select * from commodity order by price desc

输出:

7 1004 2 手机 7699
4 1003 电视 3199
5 1003 冰箱 2999
6 1004 1 手机 1999
3 1002 茶几 999.9
8 1004 .3 手机 699.9
10 1005 牛仔裤 99
2 1001 毛巾 21.5
9 1005 T恤 21.5
1 1001 牙刷 10.5

MySql——创建数据表,查询数据,排序查询数据的更多相关文章

  1. MySQL为数据表的指定字段插入数据

    username not null 没有默认值/有默认值   insert不插入username字段 均不报错 2014年07月23日21:05    百科369 MySQL为数据表的指定字段插入数据 ...

  2. MySQL 按照数据库表字段动态排序 查询列表信息

    MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候 ...

  3. mysql一张表到底能存多少数据?

    前言 程序员平时和mysql打交道一定不少,可以说每天都有接触到,但是mysql一张表到底能存多少数据呢?计算根据是什么呢?接下来咱们逐一探讨 知识准备 数据页 在操作系统中,我们知道为了跟磁盘交互, ...

  4. MySQL的ALTER变更、正则查询、分组查询、排序查询以及事务查询的概

    MySQL的表和字段信息的变更 ALTER TABLE table-name DROP column-name; #删除某个字段 ALTER TABLE table-name ADD column-n ...

  5. Hibernate的配置跟简单创建一个表并插入一条数据

    首先官网下载一个hibernate的架包,由于时间关系,博主已经分享到了百度网盘:https://pan.baidu.com/s/1Mw0Og3EKnouf84Njz9UicQ,提取码lens Hib ...

  6. MySQL 创建唯一索引忽略对已经重复数据的检查

    MySQL 创建唯一索引忽略对已经重复数据的检查 在创建唯一索引的基础上加上关键字"IGNORE "即可.(注意,经测试,在5.7版本已经不再支持该参数) # 重复数据 mysql ...

  7. MySQL创建民族表的SQL语句

    MySQL创建民族表的SQL语句 CREATE TABLE `nation` ( `id` ) unsigned NOT NULL AUTO_INCREMENT, `nation` ) NOT NUL ...

  8. Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

    1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...

  9. MySQL数据库、数据表和字段字符集查询、修改和配置

    一.设置编码 LINUX  修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加    default-character-set=utf8 在[mysqld]下添加 ...

  10. php标签云制作——数据表的结构和查询方法

    1.数据表的结构: 创建建两张数据表,结构如下: 标签tag表: 文章mood表: 其中mood表中的tag字段,以tag表的id字段+“,”+tag表的id字段, 2.查询方法: 例如:如果需要某篇 ...

随机推荐

  1. cobalt strike和metasploit结合使用(互相传递shell会话

    攻击机 192.168.5.173 装有msf和cs 受害机 192.168.5.179 win7 0x01 msf 派生 shell 给 Cobalt strike Msfvenom生成木马上线: ...

  2. java-try,return和finally相遇时的各种情况

    今天碰到了这样一个问题:使用try,return和finally会碰到的各种情况1,try中有return时,执行顺序:2,try和finally中都有return时,执行顺序:3,运算代码在fina ...

  3. python学习-异常处理之捕获异常与抛出异常(七)

    捕获异常 python完整的异常处理语法结构如下: 特别说明: 1.try块是必需的,except块和finally,当try块没有出现异常时,程序会执行else块 2.try块后只有一个except ...

  4. window下设置定时任务及基本配置

    ### window下设置定时任务及基本配置 轉載請註明出處: https://www.cnblogs.com/funnyzpc/p/11746439.html |****************** ...

  5. Spring Cloud Alibaba 使用nacos 注册中心

    ### 背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 ### spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring ...

  6. Redis真集群安装

    Redis真集群安装 命令文档:http://redisdoc.com/index.html 下载:https://code.google.com/archive/p/redis/downloads ...

  7. Maven Eclipse 笔记

    1. 下载apache-maven-3.1.1-bin.zip SITE:http://maven.apache.org/download.cgi 2. 配置 M2_REPO= C:\Users\&l ...

  8. 小程序多端差异调研报告(微信,支付宝,头条,QQ)

    已经使用uni-app开发并发布了一个跨端小程序啦,嘻嘻嘻!

  9. index.html

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. Python能做什么,自学Python效果怎么样?

    短时间掌握一门技能是现代社会的需求.生活节奏越来越快,现在不是大鱼吃小鱼,而是快鱼吃慢鱼的时代,人的时间比机器的时间更值钱.Python作为一种轻量级编程语言,语言简洁开发快,没那么多技巧,受到众多追 ...