MySQL基础及单行、分组函数

1.DB,DBMS,SQL
(1)DB(数据库):存储数据的仓库,保存一系列有组织的数据
(2)DBMS(数据库管理系统):数据库是通过DBMS创建和操作的容器
(3)SQL(结构查询语言):专门用来与数据库通信的语言
2.SQL分类:
(1)DDL:数据定义语言
(2)DML:数据操作语言
(3)DQL:数据查询语言
(4)DCL:数据控制语言
(5)DTL:数据事物语言
3.mysql两种启动关闭方式:
(1)通过在计算机管理里的服务界面找到mysql进行启动
(2)用管理员身份打开cmd输入net start+数据库在电脑中的名字(关闭时只需要把start变成stop)
4.mysql的两种登录方式(这里注意好比电子锁启动相当于通电,登录相当于输入密码开锁)
(1)mysql自带客户端(退出用exit)
(2)管理员身份打开cmd输入mysql + -h+主机名(本机就是localhost)+ -P(大写)+端口名+ -u+用户名+ -p+密码
5.mysql常见命令:
(1)show databases:查看有哪些数据库
(2)use+库名:打开一个数据库
(3)show+tables:查看里边的表(想看表必须要先进到库里边)
(4)show+tables+from+库名:从一个库里查看另一个库的表
(5)select database():查看当前所在的库
(6)desc+表名:查看表的结构
(7)select+*from+表名:查看表里的数据
(8)select version():查看当前数据库版本
(9)mysql --version或者mysql --V:在DOS命令窗口查看数据库版本
(10)exit或ctrl+c:退出数据库
6.SQL语言规范:
(1)命令不区分大小写
(2)最好以分号结尾
(3)命令长可以换行缩进输入
(4)注释:
单行注释:#+注释内容
–+空格+注释内容
多行注释:/ * +* /
(5)着重号+字段+着重号:方便标识字段
7.navicat常用快捷键:
(1)ctrl+q:打开查询窗口
(2)ctrl+/:注释
(3)ctrl+r:运行查询窗口的sql语句
(4)F6:打开一个mysql命令行窗口
(5)ctrl+n:打开一个新的查询窗口
在这里插入图片描述
8.常见函数总结:

单行函数:

常见字符函数
(1)length(str):返回字节数例如SELECT LENGTH(字段) (+别名)+from+表名 意思就是列出表中指定字段的字节长度
(2)concat(str1,str2,…):返回拼接的字符串例如SELECT CONCAT(sno,"",sname,"",ssex) as “基本信息” from 表名意思就是把信息连接起来组成一个新的字段
(3)upper(str)和lower(str):将字符串全部换成大写或者小写
(4)substr(str,int,int):substr是一个重载方法比如SELECT SUBSTR(字段名,2,3) +别名+from+表名意思是将此字段从第二个字符开始后的3个字符组成一个字段显示出来。如果参数只有一个字符串和一个数字那么就从这个数字索引的字符开始后边所有的字符组成的字段显示出来
(5)instr(str1,str2):如果串str1包含str2那么返回str2在str1中第一次出现的索引,如果没有就返回0
mysql中字符的索引是从1开始的
(6)trim(str)或trim(str1 from str2):如果是第一种就是默认去掉首尾的空格字符第二种就是在str2去掉str1首尾的str2字符
(7)lpad(str1,int pos,str2):在左边填充str2,直到字符个数为pos个,如果str1字节数本来就比pos大,那么会从右边开始删除str1中的字符直到字符数等于pos。
(8)rpad(str1,int pos,str2):与lpad相反,他俩相同的是就是当原本字符长度大于pos时都是从右边开始删除字符
(9)replace(str1,str2,str3):意思是字符串的替换,str1中出现的str2字符串替换成str3

数学函数:
(1)round(任意类型的数):返回默认四舍五入到整数,当然里边还可以放两个参数,第一个是任意类型的数,第二个参数是保留到的小数点的位数
(2)ceil(任意类型的数):向上取整
(3)floor(任意类型的数):向下取整
(4)truncate(r任意类型的数,保留小数的位数):阶段数字
(5)mod(int ,int):取模

日期函数:
(1)now():select now():返回当前系统时期加时间
(2)curdate:select curdate():返回当前系统的时期不包含时间
(3)curtime:select curtime():返回当前的时间不包含时期
(4)获得指定的年,月,日,时,分,秒:year,month…,比如select year(日期)
(5)str_to_date():将按照一定格式转化成日期比如:select str_to_date(“1999-12-12”,“Y%-c%-d%”)
(6)date_format():date_format(now(),"%y年%m月%d日")
在这里插入图片描述
(7)datadiff(时间段1,时间段2):用于统计两时间段相差的天数
流程控制函数:
(1)if函数:if有三个参数第一个参数是条件判断第二个是判断为真时返回的值第三个是返回假时返回的值:如SELECT if(ssex=“男”,“男”,“女”) AS 备注 FROM +表;
(2)case函数:有两种使用方式
第一种:类似c语言的switch

case   要判断的字段或者表达式
when + 常量  +then+要显示的值或者语句
when + 常量  +then+要显示的值或者语句
........
else
要显示的值或者字段
end
例子:
select   case  salary(月薪)
 when    2000   then   ”工资偏低"
 when    8000   then   "工资还可"
 else
 "无法做出判断"
 end (可以在这为结果取别名)    
                        

第二种:类似C语言的if else

case
when + 条件判断+then+要显示的值或者语句
when + 条件判断+then+要显示的值或者语句
....
else
要显示的值或者语句
end

例子:
   case
   when salary>2000  then  'S'
   when salary<2000  then  ''
   else
   salary
   end

其他函数
(1)version():select version():查看MySQL的版本号
(2)database():select database():查看当前数据库
(3)user():select user():查看当前用户
(4)isnull(字段,表达式或值):如果字段为空则返回表达式或者值

分组函数:

(1)sum().agv(),min(),max(),count()
例如:select sum(字段) from +表名
其他的用法类似
agv:求平均值
min:求最小值
max:求最大值
count:计数

agv和sum只用在数值字段中
其余任何类型都适用

五个函数都忽略null值

五个函数的函数参数都可以用distinct修饰
distinct就是用来重

count(*)和count(常量):都可以统计表的总行数
二者原理:前者是只要一行任意数值非空边便统计后者是在表格中虚拟的加一个常量字段统计数量

在这里插入图片描述

发布了37 篇原创文章 · 获赞 52 · 访问量 1818

猜你喜欢

转载自blog.csdn.net/qq_45737068/article/details/104807138