在充分掌握了java基础后,我们下一步学习的过程就因该是数据库sql语言,准确来说,是关系型数据库,除了关系型数据库外还有部分非关系型数据库Nosql数据库等,这些的掌握主要放在我们学习框架后再了解
再学习sql语句之前,我们需要做好以下准备,以我本身电脑配置为列
MySQL
navicat
做好准备后我们便可以开始sql语句的学习
首先也是最基础也是最常见的增删改查四类语句,我们所有的复杂sql语句的基础都是从这四类语句组成的
column_name字段名 table_name表名 database_name数据库名
查询
SELECT column_name FROM table_name WHERE column_name[条件] GROUP BY column_name ORDER BY column_name DESC/ASC HAVING column_name[条件]
新增
INSERT INTO table_name column_name VALUE (列值)
删除
DELECT FROM table_name WHERE column_name[条件]
修改
UPDATE table_name SET colunm_name = [字段值] WHERE colunm_name = [字段值]
基础的增删改查掌握熟练之后,面对大部分复杂的业务场景还是力不从心,需要用到查询嵌套,左右连接和关键字,函数相互配合才能应对大部分业务场景,本文主要讲解sql各种函数的用法
聚合函数
聚合函数是最基本函数之一,再我们处理数据时也是最常使用的函数
MAX() 取最大值 SELECT MAX(column_name) FROM table_name
MIN() 取最小值 SELECT MIN(column_name) FROM table_name
SUM() 取总和 SELECT SUM(colunm_name) FROM table_name
COUNT() 取行数和 SELECT column_name,COUNT(*) FROM table_name
AVG() 取平均值 SELECT AVG(column_name) FROM table_name
转换函数
CAST() 转换字段类型 CAST(colunm_name AS new_type) AS column_name FROM table_name
日期函数
GETDATE() 获取当前系统时间 SELECT GETDATE()
DATEADD() 给指定日期增加天数 SELECT DATEADD(dd | mm | yy,number,date)
DATEDIFF() 得到两个日期之间的差值 SELECT DATEDIFF(dd | mm | yy,date1,date2)
字符函数
LENGTH() 获取数据的字符长度 SELECT LENGTH(column_name)
TRIM() 获取除去空格的数据 SELECT TRIM(column_name)
RIGHT() 获取字符串表达式最右端指定字符个数得到的数据
SELECT RIGHT(colunm_name,number)
数字函数
ABS() 获取数据的绝对值 SELECT ABS(colunm_name)
SIGN 对正数返回1,负数返回0,0返回0 SELECT SIGN(colunm_name)
其余常用函数
EXPLAIN() 获取sql语句的效率 EXPLAIN(sql)
ROW_NUMBER OVER() 生成一个随数据递增的新字段
SELECT ROW_NUMBER OVER(PATITION BY column_name ORDER BY column_name) FROM table_name
以上展示的是日常工作中的常用函数,如果想更加详细的了解sql函数的使用和其余函数,可以参考以下博客