参考资料:《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. JS中的事件委托/事件代理详解

    起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考: 概述: 那什么叫事件委托呢?它 ...

  2. (22)ASP.NET Core EF创建模型(索引、备用键、继承、支持字段)

    1.索引 索引是跨多个数据存储区的常见概念.尽管它们在数据存储中的实现可能会有所不同,但也可用于基于列(或一组列)更高效地进行查找. 1.1约定 按照约定,将在用作外键的每个属性(或一组属性)中创建索 ...

  3. 借助WindowBuilder插件轻松完成JAVA图形用户界面编辑

    如果以纯代码的形式进行JAVA的图形用户界面编辑,将是一件非常痛苦的事,博主在学习过程中发现了JAVA GUI编辑神器——WindowBuilder,提供可视化的编辑界面,控件的添加.排版只需使用鼠标 ...

  4. Amazon S3数据存储

    从官网下载aws 的unity插件,并做了简单修改(主要用修改PostObject),问题: (一)获取Pool ID 通过服务-Cognito-管理/新建用户池,可以新建或者获取Pool ID (二 ...

  5. ElasticSearch head插件安装与配置

    下载 下载地址:https://github.com/mobz/elasticsearch-head 安装 1. 下载到本地 git clone 2. 安装 grunt npm install -g ...

  6. 20190728_收集的一些链接_关于opencv

    https://softwarebydefault.com/tag/pixel-neighbourhood-max/ https://www.cnblogs.com/happystudyeveryda ...

  7. 在VMware下的Linux中的RAID5校验位算法下的磁盘管理

    前景:1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致 ...

  8. [翻译]——MySQL 8.0 Histograms

    前言: 本文是对这篇博客MySQL 8.0 Histograms的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处.谢谢! 英文原文地址:https://lefred ...

  9. 学习笔记45_log4net日志

    1.配置添加一个App.config *对于网站,就使用web.config ***对于App.config和web.config的配置,在表现形式上是不一致的,使用的时候应该在网上查对于的配置设置. ...

  10. MySQL8.0 redo日志系统优化

    背景 现在主流的数据库系统的故障恢复逻辑都是基于经典的ARIES协议,也就是基于undo日志+redo日志的来进行故障恢复.redo日志是物理日志,一般采用WAL(Write-Ahead-Loggin ...