参考资料:《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. Javascript之傻傻理不清的原型链、prototype、__proto__

    新人学习Javascript,其中的原型链一直是云里雾里,不得要领,查了很多相关资料,觉得这遍讲得最为清晰易懂,特转载分享,共同学习. 1. JavaScript内置对象 所谓的内置对象 指的是:Ja ...

  2. php反序列化漏洞复现过程

    PHP反序列化漏洞复现 测试代码 我们运行以上代码文件,来证明函数被调用: 应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都 ...

  3. sudo权限造成的故障

    公司服务器故障: [chengsir@yinwucheng ~]$ sudo mkdir /opt/nginx sudo: /usr/bin/sudo must be owned by uid 0 a ...

  4. ASP.NET Core 使用 JWT 自定义角色/策略授权需要实现的接口

    目录 ① 存储角色/用户所能访问的 API ② 实现 IAuthorizationRequirement 接口 ③ 实现 TokenValidationParameters ④ 生成 Token ⑤ ...

  5. 使用oracle脚本生成VO和Dao

    话不多说直接上代码. 生成VO的脚本: SELECT '/**' || T2.COMMENTS || '*/ @Column(name="' || T1.COLUMN_NAME || '&q ...

  6. Spring Boot项目中使用Mockito

    本文首发于个人网站:Spring Boot项目中使用Mockito Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试 ...

  7. 使用FastReport报表工具生成标签打印文档

    在我们实际开发报表的时候,我们需要按一定的业务规则组织好报表的模板设计,让报表尽可能的贴近实际的需求,在之前的随笔中<使用FastReport报表工具生成报表PDF文档>介绍了FastRe ...

  8. 5.分析snkrs的Android的DeviceID生产规则

    分析Android的DeviceID生产 前面已经把web端的分析了一些,要想实现其实容易也难,容易是规则很容易,难是时间生成控制很难,我之前大概花了一周时间分析和梳理,然后行为测试,之前我已经讲过c ...

  9. unity text实现鼠标光标

    由于项目需求,需要在text上实现鼠标的cursor,并且随着点击位置cursor移动.实现方法: 1)新建一个光标的prefab(简单为之,直接在image中添加一个竖线spirte),增加脚本控制 ...

  10. php+js实现一个简单的用户管理系统

    php + js 实现一个简单的用户管理系统 说实话,我对PHP是抵触的,但是我们的WEB课程刚好学的就是这个,不得已看了看,下面是用PHP实现的一个简单的用户管理系统. 我们首先来看一下目录结构 a ...