|
-- 数学运算SELECT ABS(-8) as 绝对值 -- 绝对值SELECT CEILING(9.4) -- 向上取整SELECT FLOOR(9.4) -- 向下取整SELECT RAND() -- 返回一个 0-1 之间的随机数SELECT SIGN(-10) -- 返回一个数的符号 0 返回 0 负数返回-1 正数返回 1 로그인 후 복사
관련 무료 학습 권장사항: mysql 비디오 튜토리얼
function |
function |
example |
CHAR_LENGTH(s ) |
문자열 s의 문자 수를 반환합니다. | SELECT CHAR_LENGTH('Hello 123') – 5 |
LENGTH(s) |
문자열 s의 길이를 반환합니다 |
SELECT LENGTH('Hello 123') – 9 |
CONCAT(s1,s2 , …) |
문자열 s1, s2 및 기타 문자열을 하나의 문자열로 결합 |
SELECT CONCAT('12','34') – 1234 |
INSERT(s1,x,len,s2) |
문자열 s2를 다음으로 대체 |
문자열 s의 모든 문자를 대문자로 변환 |
SELECT UPPER('abc') – ABC
|
LOWER(s),LCASE(s) |
문자열의 모든 문자 변환 s를 소문자로 변환 |
SELECT LOWER('ABC') – abc
|
LEFT(s,n) |
문자열 s |
SELECT LEFT('abcde',2) – ab
|
RIGHT (s,n) |
문자열 s의 마지막 n자를 반환합니다 |
SELECT RIGHT('abcde',2) - de
|
LPAD(s1,len,s2) |
문자열 s2로 s1을 채웁니다. 처음에는 문자열 길이를 len |
SELECT LPAD('abc',5,'xx') – xxabc
|
RPAD(s1,len,s2) |
String s2로 s1의 끝 부분을 채우고, 문자열의 길이가 len |
에 도달하도록 합니다. SELECT RPAD('abc',5,'xx') – abcxx
|
LTRIM(s) |
문자열 s |
| 시작 부분의 공백을 제거합니다. | RTRIM(s)
문자열 s |
|
| TRIM(s)
문자열 s |
|
| 의 시작과 끝에서 공백을 제거합니다. TRIM(s1 FROM s) 문자열 s의 시작과 끝에서 문자열 s1을 제거합니다 |
SELECT TRIM('@' FROM '@@abc@@') – abc
|
REPEAT(s,n) ㅋㅋㅋ |
문자열 s2를 문자열 s의 문자열 s1로 대체합니다. |
SELECT REPLACE('abc','a','x') --xbc
|
STRCMP(s1,s2) |
문자열 s1과 s2를 비교 |
|
| SUBSTRING(s,n,len)
문자열 s의 n번째 위치부터 시작하여 길이가 len인 문자열을 가져옵니다 |
|
| MID(s,n,len) | SUBSTRING과 동일 (s,n,len)
|
|
LOCATE(s1,s),POSITION(s1 IN s)
| 문자열 s
에서 s1의 시작 위치를 가져옵니다. SELECT LOCATE('b', 'abc' ) – 2 |
| INSTR(s,s1)
문자열 s |
SELECT INSTR('abc','b') – 2
|
REVERSE(s ) |
Reverse에서 s1의 시작 위치를 가져옵니다. 문자열 s
| SELECT REVERSE('abc') – cba
| ELT(n,s1,s2,…) | n번째 문자열 반환 | SELECT ELT(2 ,'a','b' ,'c') – b
| FIELD(s,s1,s2…) | 문자열 s | SELECT FIELD('c ','a','b','c'와 일치하는 첫 번째 문자열 위치를 반환합니다. ) – 3
| FIND_IN_SET(s1,s2) | 문자열 s2 |
|
-- 字符串函数SELECT CHAR_LENGTH('我们的征途是星辰和大海') -- 字符串的长度SELECT CONCAT('我','爱','猫猫') -- 拼接字符串SELECT INSERT('我爱编程helloworld',1,2,'超级热爱') -- 查询,从某个位置开始替换某个长度SELECT LOWER('MaoMao') -- 小写字母SELECT UPPER('maomao') -- 全变大写SELECT INSTR('maonmao','n') -- 返回第一次出现的子串的索引SELECT REPLACE('猫猫说坚持就能成功','坚持','努力') -- 替换出现的指定字符串SELECT SUBSTR('猫猫说坚持就能成功',4,3) -- 返回指定的子字符串 (源字符串,截取的位置,截取的长度)SELECT REVERSE('猫猫说坚持就能成功') -- 反转-- 查询有田的同学,将田改成猪SELECT REPLACE(studentname,'田','猪') FROM studentWHERE studentname LIKE '%田' 로그인 후 복사 |
|
Function
Function |
예 |
|
CURDATE();CURRENT_DATE() |
현재 날짜 반환 |
SELECT CURDATE()–> 2021-01-09 |
NOW() 2021 -01-09 10:03:14
UNIX_TIMESTA 국회의원 () | 현재 시간을 UNIX 타임스탬프 형식으로 반환합니다. | SELECT UNIX_TIMESTAMP()->1617977084 |
-- 时间和日期函数(记住)SELECT CURRENT_DATE() -- 获取当前日期SELECT CURDATE() -- 获取当前日期SELECT NOW() -- 获取当前的时间SELECT LOCALTIME() -- 本地时间SELECT YEAR(NOW())SELECT MONTH(NOW())SELECT DAY(NOW())SELECT HOUR(NOW())SELECT MINUTE(NOW())SELECT SECOND(NOW())-- 系统SELECT SYSTEM_USER()SELECT USER()SELECT VERSION() 로그인 후 복사
집계 함수 |
| | 함수 이름 설명 |
|
| COUNT()
COUNT |
| SUM() | Sum
| AVG() | Average |
MAX()
최대값
MIN( )최소값 | |
-- ================ 聚合函数 ============-- 都能够统计 表中的数据 (想查询一个表中有多少个记录,就是用这个count())SELECT COUNT(studentname) FROM student; -- COUNT(指定列),会忽略所有的null值SELECT COUNT(borndate) FROM student; -- 结果 8 少一个 因为是null
SELECT COUNT(*) FROM student; -- Count(*) 不会忽略所有的null值 本质 计算行数SELECT COUNT(1) FROM result; -- Count(1) 不会忽略所有的null值 本质 计算行数SELECT SUM(studentresult) AS 总和 FROM resultSELECT AVG(studentresult) AS 平均分 FROM resultSELECT MAX(studentresult) AS 最高分 FROM resultSELECT MIN(studentresult) AS 最低分 FROM result-- 查询不同课程的平均分,最高分,最低分-- 核心:根据不同的课程分组SELECT any_value(`subjectname`) AS 科目名,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分FROM result rINNER JOIN `subject` subON r.`subjectno` = sub.`subjectno`GROUP BY r.subjectno -- 通过什么字段来分组-- 查询不同课程的平均分,最高分,最低分,平均分大于80SELECT any_value(`subjectname`) AS 科目名,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分FROM result rINNER JOIN `subject` subON r.`subjectno` = sub.`subjectno`GROUP BY r.subjectno -- 通过什么字段来分组HAVING 平均分>50 로그인 후 복사
데이터베이스 수준의 MD5 암호화
MD5란 무엇입니까 |
주로 알고리즘의 복잡성과 비가역성을 강화합니다 |
MD5는 되돌릴 수 없으며, md5의 구체적인 값은 같습니다
MD5가 웹사이트를 크랙하는 원리에는 그 뒤에 있는 사전, MD5 암호화 후의 값: MD5 암호화 전의 값 |
-- ==================== 测试MD5 加密 ===================CREATE TABLE `testmd5`(
`id` INT(4) NOT NULL,
`name` VARCHAR(20) NOT NULL,
`pwd` VARCHAR(50) NOT NULL,
PRIMARY KEY(`id`))ENGINE=INNODB DEFAULT CHARSET=utf8-- 明文密码INSERT INTO testmd5 VALUES(1,'zhangsan','123456'),(2,'lisi','123456'),(3,'wangwu','123456')-- 加密UPDATE testmd5 SET pwd=MD5(pwd) WHERE id = 1UPDATE testmd5 SET pwd=MD5(pwd) -- 加密全部的密码-- 插入的时候加密INSERT INTO testmd5 VALUES(4,'xiaoming',MD5('123456'))-- 如何校验:将用户传递进来的密码,进行md5加密,然后比对加密后的值SELECT * FROM testmd5 WHERE `name`='xiaoming' AND pwd=MD5('123456') 로그인 후 복사
|
더 많은 관련 무료 학습 권장사항:
| mysql tutorial |
(동영상) |
|