参考资料:《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. 基于STL的队列略解

    什么是STL 以下内容摘自这儿. STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Le ...

  2. [CF431C]k-Tree

    题目描述 Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was ins ...

  3. caffe中softmax源码阅读

    (1) softmax函数                                      (1) 其中,zj 是softmax层的bottom输入, f(zj)是softmax层的top输 ...

  4. java学习1-初始java程序

    # 第一个简单示例 public class Hello { public static void main(String[] args) { System.out.println("Hel ...

  5. vue系列---响应式原理实现及Observer源码解析(一)

    _ 阅读目录 一. 什么是响应式? 二:如何侦测数据的变化? 2.1 Object.defineProperty() 侦测对象属性值变化 2.2 如何侦测数组的索引值的变化 2.3 如何监听数组内容的 ...

  6. maven 打包 spring boot 生成docker 镜像

    1.所使用材料 ,spring boot 项目 基于maven ,maven 工具, docker工具 ps:为啥使用 docker 公司微服务需要启动太多,有两个优点吧! 1.方便管理,2.减少服务 ...

  7. .Net Core3.0依赖注入DI

    构建ASP.NET Core应用程序的时候,依赖注入已成为了.NET Core的核心,这篇文章,我们理一理依赖注入的使用方法. 不使用依赖注入 首先,我们创建一个ASP.NET Core Mvc项目, ...

  8. Java IO_001.File类--文件或文件夹相关操作

    Java IO之File对象常用操作 File类:用于文件或文件夹或网址相关联的操作.可以关联或不关联文件(即关联不存在的文件).构造函数有: public File(String pathname) ...

  9. 计算机基础之编程 + 基本组成 + 组成补充 + 操作系统(day01整理)

    目录 一 计算机基础之编程 (一) 什么是编程语言 (二) 什么是编程 (三) 为什么要编程 二 计算机的基本组成 (一) CPU(大脑) (1) 控制器 (2) 运算器 (二) 存储器(记忆) (1 ...

  10. Google Tensorflow 迁移学习 Inception-v3

    附上代码加数据地址 https://github.com/Liuyubao/transfer-learning ,欢迎参考. 一.Inception-V3模型 1.1 详细了解模型可参考以下论文: [ ...