zoukankan      html  css  js  c++  java
  • MySql 函数 (5)

    官网:https://dev.mysql.com/doc/refman/5.7/en/sql-function-reference.html

    5.1 常用函数

    -- =============================常用函数===========================
    -- 数学函数
    select ABS(-8);  -- 绝对值 8
    select CEILING(9.4); -- 向上取整 10
    select FLOOR(9,4);  -- 向下取整 9
    select RAND(); -- 0-1的一个随机数
    select SIGN(10); -- 判断一个数的符号, 0-0, 负数- -1, 正数 - 1

    -- 字符串函数
    select CHAR_LENGTH('今天是七夕节')  -- 查看字符长度 6
    select CONCAT('我','爱','cl'); -- 拼接字符串   我爱cl
    select INSERT('我爱曹某人',1,2,'超级热爱');  -- 插入,替换 在起始位置 1,替换字符长度2 超级热爱曹某人
    select LOWER('Yuan')  -- 转小写 yuan
    select UPPER('Yuan')  -- 转大写 YUAN
    select INSTR('Yuan','a') -- 返回第一次出现的字串的索引 3
    select REPLACE('坚持就能成功','坚持','努力') -- 替换出出现的指定字符串 努力就会成功
    select SUBSTR('坚持就能成功',4,6) -- 截取第四个字符开始的6个长度 成功
    select REVERSE('坚持就能成功') -- 反转 功成能就持坚

    -- 查询行张的同学改为姓王
    select REPLACE(studentName,'张','王') from student where studentName like '张%';

    -- 时间和日期函数
    select CURRENT_DATE(); -- 获取当前日期
    select CURDATE(); -- 获取当前日期
    select NOW(); -- 获取当前时间
    select LOCALTIME(); -- 获取本地时间
    select SYSDATE(); -- 获取系统时间

    select YEAR(NOW());
    select MONTH(NOW());
    select DAY(NOW());
    select HUOR(NOW());
    select MINUTE(NOW());
    select SECOND(NOW());

    -- 系统
    select SYSTEM_USER(); -- 当前用户
    select USER(); -- 当前用户
    select VERSION(); -- 系统版本

    5.2 聚合函数

    函数名称描述
    COUNT() 记数
    SUM() 求和
    MAX() 最大值
    MIN() 最小值
    AVG() 平均值
    ... ...
    -- ==========================聚合函数=========================
    -- 都能够统计,表中的数据
    select COUNT(`studentName`) from student; -- count(字段) 会忽略所有null 值
    select COUNT(*) from student;  -- count(*) 不会忽略null值 本质=计算函数
    select COUNT(1) from student;  -- count(1) 不会忽略null值 本质=计算函数

    select SUM(`studentResult`) AS 总和 from student;
    select AVG(`studentResult`) AS 平均分 from student;
    select MAX(`studentResult`) AS 最高分 from student;
    select MIN(`studentResult`) AS 最低分 from student;

    5.3 数据库级别的MD5加密(拓展)

    什么是MD5?

    主要增强算法复杂度和不可逆。

    MD5不可逆,具体的值的md5是一样的

    MD5破解网站的原理,背后有一个字典,md5加密后的值,加密前的值

    -- =====================测试MD5 加密====================
    create table `testmd5`(
    `id` int(11) not null auto_increment commit '学号',
    `name` varchar(255) not null commit '名字',
    `pwd` varchar(255) not null commit '密码',
    primary key (`id`)
    )ENGING=INNODB DEFAULT CHARSET=utf8;

    -- 明文密码
    insert into testmd5 values (1,'zhang','123'),(2,'wang','456');

    -- 加密
    update testmd5 set pwd = MD5(pwd) where id = 1;
    update testmd5 set pwd = MD5(pwd); -- 加密所有

    -- 插入的时候加密
    insert into testmd5 values (3,'zhang',MD5('123'));

    -- 如何校验 将用户传递进来的密码,进行MD5 加密,然后对比加密后的值
    select * from testmd5 where name = 'zhang' and pwd = MD5('123');

     

  • 相关阅读:
    利用Masscan批量生成随机ip地址表
    国光大力推荐(安利)Deepin15.4
    开启你的kali linux DIY之旅
    Docker入门简明教程
    Deepin Linux下的Metasploit安装及优化
    Hexo博客配置笔记
    Mac OS下开启自带的apache服务
    PentestBox简明使用教程
    Pentester中的XSS详解
    信息收集之网站镜像克隆
  • 原文地址:https://www.cnblogs.com/yhc-love-cl/p/13561393.html
Copyright © 2011-2022 走看看