MySQL语法入门(二)

数据库加密函数

1
2
3
4
5
SELECT MD5('hello');-- 5d41402abc4b2a76b9719d911017c592
SELECT MD5('HELLO');-- eb61eead90e3b899c6bcbe27ac581660
SELECT AES_ENCRYPT('hello', 'key');
SELECT AES_DECRYPT(AES_ENCRYPT('hello', 'key'), 'key');-- hello
SELECT SHA('hello');-- aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

控制流函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
SELECT IF(1 > 2, 3, 4);-- 4
SELECT IFNULL(1, 2);-- 1;第一个参数为空返回第二个参数,反之,返回第一个参数
SELECT IFNULL(NULL, 2);-- 2
SELECT NULLIF(1, 1);-- null;第一个参数和第二个参数相等,返回null,反之,返回第一个参数
SELECT NULLIF(1, 2);-- 1;
SELECT
CASE
WHEN 1 THEN 2
ELSE 3
END;-- 2
SELECT
CASE
WHEN 0 THEN 4
ELSE 5
END;-- 5
SELECT
CASE
WHEN 0 THEN 1
WHEN 1 THEN 2
ELSE 3
END;-- 2

SELECT
CASE
WHEN 0 THEN 1
WHEN 0 THEN 2
ELSE 3
END;-- 3

SELECT
CASE 'cat'
WHEN 'cat' THEN 1
WHEN 'dog' THEN 2
ELSE 3
END;-- 1
```

> 格式化函数和类型转换函数

SELECT DATE_FORMAT(NOW(), ‘%W %D %M %Y %r’);– Tuesday 14th January 2025 01:38:27 PM
SELECT TIME_FORMAT(‘25:11:44’, ‘%h:%i %p’);– 01:11 AM
SELECT INET_ATON(‘192.168.1.11’);– 3232235787;IP地址转成数字
SELECT INET_NTOA(3232235787);– 192.168.1.11;数字转成IP地址

SELECT 2 + ‘23’;– 25
SELECT 3 + CAST(‘11’ AS SIGNED);– 14
SELECT ‘f’ = BINARY ‘F’;– 0
SELECT ‘f’ = ‘F’;– 1
SELECT ‘f’ = CAST(‘F’ AS BINARY);– 0
SELECT ‘f’ = CAST(‘F’ AS CHAR);– 1
SELECT CONVERT( ‘14’ , SIGNED);– 14
SELECT CONVERT( ‘abc’ USING UTF8);– abc