复制表结构和数据

  • 复制已有表结构

    1. # create table 目标数据库.新表名 like `被复制的表名`;
    2. $ create table mydb1.goods1 like `good`;
  • 复制已有表数据

    将已有表数据复制到目标表 , 目标表需要与已有表结构完全一样

  1. # insert into 目标数据库.新表名 select * from `被复制的表名`;
  2. $ insert into mydb1.goods1 select * from `good`;

清空数据

  1. # truncate table 表名;
  2. $ truncate table good;

查询时去除重复记录

  1. # SELECT DISTINCT 字段名 FROM 表名
  2. $ SELECT DISTINCT student_code FROM sc

排序与限量

排序

  • 单字段排序

    按照一个指定字段进行排序

  1. # ASC 升序 , DESC 降序 默认 ASC
  2. # SELECT 字段名 FROM 表名 ORDER BY 排序字段 排序规则
  3. $ SELECT * FROM sc ORDER BY id DESC
  • 多字段排序

    根据多个条件对查询数据进行排序 , 先按照规则一排序出结果 , 然后再使用规则二排序 以此类推

  1. # SELECT 字段名 FROM 表名 ORDER BY 字段一 排序规则一 , 字段二 排序规则二
  2. $ SELECT * FROM sc ORDER BY student_code DESC , fraction DESC

限量

指定查询记录数量

  1. # SELECT 字段名 FROM 表名 ORDER BY 排序字段 排序规则 LIMIT 最大查询记录数量
  2. $ SELECT * FROM sc ORDER BY fraction DESC LIMIT 1
  3. # 偏移量
  4. # SELECT 字段名* FROM 表名 ORDER BY 排序字段 排序规则 LIMIT 从第x条开始,取n条数据
  5. $ SELECT * FROM sc ORDER BY fraction DESC LIMIT 0,3

分组与聚合函数

  • 分组统计

    1. # 根据 student_code 进行分组(相同值为一组),查出fraction最大值(每组中的最大值)
    2. $ SELECT student_code,MAX(fraction) FROM sc GROUP BY student_code
    1. $ SELECT student_code,GROUP_CONCAT(id),GROUP_CONCAT(fraction) FROM sc GROUP BY student_code
  • 多分组统计

  • 回溯统计

    在根据指定字段分组后 , 系统又自动对分组的字段向上进行了一次新的统计 , 并产生一个新的统计数据

  1. # 对统计结果再次按照上次统计的规则统计
  2. $ SELECT student_code,GROUP_CONCAT(id),GROUP_CONCAT(fraction) FROM sc GROUP BY student_code WITH ROLLUP
  • 统计筛选

    分组后可以使用 HAVING 对分组进行条件筛选 , 与WHERE 功能相同