MySql教程

必备MYSQL语法--映射

本文主要是介绍必备MYSQL语法--映射,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1获取指定列(基础)

select id ,name from info;          #info :数据表,=》取出指定列的数据
select id ,name as NM from info;     #取出id,名字将列名命名为NM 
select id ,name as NM ,132 from info #取出id,名字将列命名为NM,增加123列并以123命名;

2.获取指定列(嵌套查询)

select 
    id,
    name,
    666 as num,
    (select max(id) from depart) as mid,#取出depart表中的id最大值,以mid为列名增加最大值列
    (select min(id) from depart) as nid,#这两个只能去除一个值作为定量去查询
    age
from info;

3.获取指定列(条件查询):

select
    id,
    name,
    666 as num,
    (select  title from depart where depart.id = info.depar) as x1 
from info;   

注:需要将两张表中的每条数据进行对比取出符合条件的id,然后查询title列,将其放入x1中。
  查询效率相对比较低,如果数据量过大尽量不要使用。

4.获取指定列(多条件查询)

select
    id,
    name,
    case depart_id when 1 then "第一部门" end v1,
    case depart_id when 1 then "第一部门" else "其他" end v2,
    case depart_id when 1 then "第一部门" when 2 then "第二部门" else "其他" end v2,
   case when age<18 then "少年" end v4
   case when age<18 then "少年" else "油腻男" end v5,
   case when age<18 then "少年" when age<30 then "青年" else "油腻男" and v6
from info;

5.排序

selesct * from info order by age desc;#取出info中所有的数据通过age进行倒序排列
select * from info order by age asc;

注:order by:排序
  desc:倒序排列=>从大到小
  asc: 顺序排列=>从小到大
select * from info order by age asc , id desc;
select * from info where id >10 order by age asc ,id desc;#取出info中age大于10的数据然后先通过age进行顺序排列,相同的通过id进行倒序排列
select * from info where id >6 order or name like "%y" order by age asc ,id desc;
注:优先级:从左往右

6.取部分数据:

select * from info limit 5; #取出前五条数据
select * from info order by id desc limit 3; #先进行倒序排列然后取出前五条数据
select * from info where id > 10 order by id desc limit 3; 先取出id大于10 的数据然后进行倒序排列取出前三条

select * from info limit 3 offset 2;#从第二个位置取三条数据
注:limit:用于取出范围,offset:取值的起始位置

 

这篇关于必备MYSQL语法--映射的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!