• 七、select使用


    select单独使用

    1、配合MySQL内置变量使用

    SELECT @@port; #查看端口
    SELECT @@basedir; #查看软件路径
    SELECT @@datadir; #查看数据路径
    SELECT @@socket; #查看socket文件路径
    SELECT @@server_id; #查看server_id,跟主从有关,取值大小1到2^32-1之间的整数
    

    参考资料: 关于server_id引发的问题
    参考资料:server_id取值范围

    2、配合MySQL内置函数使用

    SELECT NOW(); #查询当前时间
    SELECT DATABASE(); #查询当前使用的数据库的名称
    SELECT USER(); #查询当前登录MySQL数据库用户名
    SELECT CONCAT("hello world"); #输出hello world
    SELECT CONCAT(USER,"@",HOST) FROM mysql.user; #显示允许登录的用户名跟地址
    SELECT GROUP_CONCAT(USER,"@",HOST) FROM mysql.user; #一行显示允许登录的用户名跟地址
    

    select通用语法

    注意:单表操作语法顺序是固定的。

    select 列
    from 表
    where 条件
    group by 条件
    having 条件
    order by 条件
    limit
    

    快速了解表结构

    在生产环境中快速了解一个表是做什么的如下几点

    #跟研发人员搞好关系
    #找到领导要ER图,确定多表之间的关系
     
    #查看表结构,注意注释
    desc city;
    show create table city;
    
    #查看前五行表数据
    select * from city limit 5;
    

    单表子句

    1、from

    #查询指定列数据
    select sname,intime from stu;
    
    #查询所有列数据
    select * from stu;
    

    2、where

    #查询中国(CHN)所有城市信息
    SELECT * FROM city WHERE countrycode='CHN';
    
    #where配合比较操作符> < >= <= <>
    #查询人口小于100的城市
    SELECT * FROM city WHERE population<100;
    
    #where配合逻辑运算符and or in
    #查询中国人口数量大于500w的城市信息
    SELECT * FROM city WHERE countrycode='CHN' AND population>5000000;
    #查询中国或美国城市信息
    SELECT * FROM city WHERE countrycode='CHN' OR countrycode='USA';
    #以上等同于in,性能是一样的
    SELECT * FROM city WHERE countrycode IN ('CHN' ,'USA');
    
    #where配合like子句进行模糊查询%
    #%不能放在guang前面,因为不走索引,性能会很差
    SELECT * FROM city WHERE district LIKE 'guang%';    
    
    #where配合between and
    #查询世界上人口数量大于100w小于200w的城市信息
    SELECT * FROM city  WHERE population >1000000 AND population <2000000;
    SELECT * FROM city  WHERE population BETWEEN 1000000 AND 2000000;
    

    数学计算

    select支持数学运算

    mysql> select concat(10/15*100,"%");
    +-----------------------+
    | concat(10/15*100,"%") |
    +-----------------------+
    | 66.6667%              |
    +-----------------------+
    1 row in set (0.00 sec)
    

    学习来自:郭老师博客,老男孩深标DBA课程 第三章

    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    旋转数组的最小值
    用堆栈实现队列
    二叉树的重建
    从尾到头打印链表
    实现替换空格
    java获取在各种编码下中文及英文的字符个数
    java定义一个二维数组
    java计算某个坐标是否在范围内
    java调用百度地图API
    map在遍历数据的过程中删除数据不出错
  • 原文地址:https://www.cnblogs.com/tz90/p/14363037.html
Copyright © 2020-2023  润新知