• MySql——创建数据表,查询数据,排序查询数据


    参考资料:《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

  • 相关阅读:
    sql server数据库备份与复制(1):通过复制.mdf和.ldf文件实现数据转移
    SQL SERVER数据库备份与复制(4):让SQL SERVER自动备份方法一
    js 日历控件
    SQL SERVERa数据备份与复制(2):直接复制MDF文件和使用SQL的备份之间的区别
    mysql 插入中文乱码解决方案
    sql server数据库注意点
    SQL SERVERR数据库备份与复制(5):自动备份的SP
    mysql数据备份或转移(1)——通过数据复制实现转移
    SQL Server数据库备份与复制(3):从备份到转移的几种方法方法
    SQLSERVER数据存储内幕
  • 原文地址:https://www.cnblogs.com/lbhym/p/11895968.html
Copyright © 2020-2023  润新知