文档章节

MySQL 基础语句

s-xk
 s-xk
发布于 2017/08/08 19:01
字数 1259
阅读 7
收藏 1

#####1、直接量

select '直接量', host, user from mysql.user;

#####2、计算两个列的合

select 'Totle number: ', list1+ list2 from table_name;

#####3、打印显示列的别名

select list1 AS '别名' from table_name;

#####4、连接多个列

select CONCAT(list1, ' ', list2) AS '别名' from table_name;

#####5、表的别名

select * from table_name AS 别名;   #表的别名不需要加引号

#####6、查看带有空格的列

select `list name` from table_name;

##函数使用(字符函数) #####1、LEFT(显示列最左边的三个字符)

select LEFT(listtname, 3) from table_name;

#####2、RIGHT(显示列最右边的三个字符)

select RIGHT(listtname, 3) from table_name;

#####3、SUBSTRING(显示左边第三个字符到第八个字符的值)

select SUBSTRING(listname, 3, 8) from table_name;

#####4、LTRIM(去掉列左边的空格)

select LTRIM(listname) from table_name;

#####5、RTRIM(去掉列右边的空格)

select RTRIM(listname) from table_name;

#####6、UPPER(把所有小写转换为大写)

select UPPER(listname) from table_name;

#####7、LOWER(把所有大写转换为小写)

select LOWER(listname) from table_name;

#####8、CONCAT(连接多个列)

select CONCAT(list1, list2, list3, list4) from table_name;

##函数使用(复合函数)

select RIGHT(RTIRMR(listtname), 5) from table_name;

##函数使用(日期/时间函数) #####1、NOW

select NOW();

##函数使用(数值函数) #####1、ROUND(对任意数值进行四舍五入)

select ROUND(list_name, 0) from table_name;
#值为0时,表示没有小数位
#值为负数时,表示对小数点左侧前几位进行四舍五入
# 值为正数时,表示将数字四舍五入到指定的那么多个小数位

#####2、RAND(产生一个随机数)

select RAND();
select RAND(listname) from table_name;

#####3、PI(返回一个圆周率数值)

select PI();

#####4、CAST(转换函数)

select CAST(listname as DATETIME) AS '别名' from table_name;

#####5、IFNULL(把一个空值转换为一个有意义的值)

select IFNULL(listname, 'number') from table_name;

##排序数据 #####1、ORDER BY DESC

select list1, list2 from table_name ORDER BY list1;
select list1, list2 from table_name ORDER BY list1 DESC;    #降序排序
select * from table_name ORDER BY list1, list2;   #根据多个列进行排序
select CONCAT(list1, ' ', list2) as '别名' from table_name ORDER BY 别名;  #根据计算字段和别名进行排序

##基于列的逻辑 #####1、CASE WHEN THEN ELSE END (简单格式---对单一的列)

select CASE listtname WHEN 'V' THEN 'Version' WHEN 'S' THEN 'Some' ELSE 'Just so so' END as 'Bag' from table_name;

#####2、CASE WHEN THEN ELSE END (查询格式---对多个列)

select CASE WHEN list1='V' THEN 'Version' WHEN list2='S' THEN 'Some' ELSE 'Just so so' END as 'Bag' from table_name;

##基于行的逻辑 #####1、WHERE

select * from list_name where user = 'root';
select * from list_name where number > 5;    #number大于5
select * from list_name where number < 5;    #number 小于5
select * from list_name where number >= 5;  #number 大于等于5
select * from list_name where number <= 5;  #number 小于等于5
select * from list_name where number != 5;   #number 不等于5

#####2、LIMIT(限制输出行数)

select host, user from mysql.user limit 2;
select * from table_name ORDER BY list_name DESC LIMIT 5;  #对list_name进行倒序排序,只取5行数据

##布尔逻辑 1、AND OR NOT BETWEEN IN IS NULL

select * from table_name where state >= 5 AND state <=20;   #state的值大于等于5但是小于等于20
select * from table_name where state BETWEEN 5 AND 20;  #该语句同上面一条结果相同
select list1, list2 from table_name where state NOT BETWEEN state 5 AND 20;  #取反
select * from table_name where state = 'LI' OR state = 'YN';  #state值为LI,或者state值为YN
select * from table_name where state IN ('LI', 'YN');  #该语句同上面一条结果相同
select list1, list2 from table_name where state NOT IN ('LI', 'YN');  #取反
select list1, list2 from table_name where list_name IS NULL; #取值为空的行
select list1, list2 from table_name where list_name IS NOT NULL #取值不为空的行

##模糊匹配,使用表如下: 输入图片说明 ####1、LIKE

select * from SongTitles WHERE Artist LIKE '%Beat%' ;  #查找包含Beat的行
select * from SongTitles WHERE Artist LIKE '_he%'; #查找开头为任意字符,后面跟着he字符的行
# '%' 号为任意多个字符,'_'号为单个字符

##数据汇总, 使用表如下:Fees, Grades 输入图片说明

输入图片说明

####1、DISTINCT(消除重复)

select  DISTINCT Student from Grades;  #消除Student列的重复值
select DISTINCT CONCAT(Student, ' ', GradeType) AS 'Clear' from Grades; # 连接二个列,并消除重复的行

####2、SUM(计算合)

select SUM(Fee) AS 'TotalGym Fee: ' from Fees WHERE FeeType='Gym';  #计算所有学生的健身费用总合

####3、AVG(计算平均值)

select  AVG(Grade) from Grades WHERE GradeType='Quiz';  #计算Quiz的平均成绩

####4、MIN(计算最小值)

select MIN(Grade) from Grades WHERE GradeType='Quiz';  #计算Quiz的最小成绩

####5、MAX(计算最大值)

select MAX(Grade) from Grades WHERE GradeType='Quiz';  #计算Quiz的最大成绩

####6、AVG, MIN, MAX,SUM

select AVG(Grade) AS '平均值: ', MAX(Grade) AS '最大值: ', MIN(Grade) AS '最小值: ', SUM(Grade) AS '总合: ' from Grades WHERE GradeType='Quiz';   #计算Quiz的平均值,最大值,最小值,总合。

####7、COUNT (计算行数)

select COUNT(*) from Grades WHERE GradeType ="Homework";  #显示GradeType为Homework的所有行数
select COUNT(DISTINCT FeeType) from Fees;    #取消FeeType列重复的值,然后计算行数

####8、GROUP BY (分组数据)

select GradeType AS 'Group: ', MAX(Grade), MIN(Grade), SUM(Grade), AVG(Grade) from Grades GROUP BY GradeType;  #根据GradeType列分组,并且计算平均值,最大值,最小值,总合。

####9、聚合查询条件

select Student, GradeType, AVG(Grade) from Grades WHERE GradeType='Quiz' GROUP BY Student, GradeType HAVING AVG(Grade)>=71.5;  #根据Student,GradeType两个列进行分组并且计算出平均值,然后查询GradeType列为‘Quiz’的行,最后显示Grade列平均值大于71.5的行。

© 著作权归作者所有

共有 人打赏支持
s-xk
粉丝 3
博文 12
码字总数 6555
作品 0
手把手教你入门MySQL零基础入门教程!

目前MySQL已经成为最为流行的开源关系数据库系统,并且一步一步地占领了原有商业数据库的市场。可以看到Google、Facebook、Yahoo、网易、久游等大公司都在使用MySQL数据库,甚至将其作为核心...

一定听你
2017/06/14
0
0
MySQL入门教程系列-1.5 如何学习MySQL

在这里持续更新 MySQL入门教程系列-1.5 如何学习MySQL 如何学习 MySQL 这是一个伪命题,每个人都有适合自己的一套学习方法,各

同一种调调
2016/09/28
15
0
MySQL基础教程

这是一个基础的MySQL教程,通过教程的学习后可以到达一个初级到中级 MySQL应用水平级别 ,主要介绍一些MySQL中基本的SQL语句。如果这是您第一次使用关系数据库管理系统(之前没有学习SQL相关...

易百教程
2016/10/11
37
0
MySQL基础应用

1.登入到MySQL服务器 [root@localhost ~]# mysql -u root -p Enter password: //根据提示输入正确的密码 2.执行MySQL操作语句 以root登入打“mysql>”环境后,执行"show master logs;"语句可...

qualityserver
2017/06/11
0
0
shell学习之编程基础知识

有学过编程语言的同学们都能够很快入手shell因为基础的字符类型,循环语句与C语言也差不多。以下我们来了解以下新手基础: 1.在学习循环语句之前先了解一些基础的字符信息: $0、$1、$2、$?、...

wenchuansilang
2017/04/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中的移位运算符

国庆给自己放了个小长期二十几天,回来继续更新专栏 上一篇文章我们说了Java里的二进制,知道了计算机是以0和1来处理数据的,在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号...

SuShine
27分钟前
2
0
linux版QQ

下载地址在这 http://yun.tzmm.com.cn/index.php/s/XRbfi6aOIjv5gwj Appimage包不用做什么别的处理,安装啥的都不需要。。找到文件所在目录,终端中修改一下文件的权限 chmod 777 QQ-2017112...

悲催的古灵武士
33分钟前
1
0
咕泡-MyBatis 实用篇作业

1. Mapper在spring管理下其实是单例,为什么可以是一个单例? 首先,mapper 内部不包含 成员字段,无状态单例是安全的 另外,一直存在不用每次调用都new 一个新实例 2. MyBatis在Spring集成下...

职业搬砖20年
36分钟前
2
0
MQTT协议的初浅认识之连接建立

MQTT百科 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布...

亚林瓜子
53分钟前
1
0
OpenStack部署都有哪些方式

对于每一个刚接触到OpenStack的新人而言,安装无疑是最困难的,同时这也客观上提高了大家学习OpenStack云计算的技术门槛。想一想,自己3年前网上偶然接触到OpenStack时,一头茫然,手动搭建一...

tututu_jiang
53分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部