设为首页 加入收藏

TOP

MySQL创建用户与授权方法、MySQL查看版本号、MySQL执行SQL脚本的方法(三)
2017-11-24 10:48:56 】 浏览:513
Tags:MySQL 创建 用户 授权 方法 查看 版本 执行 SQL 脚本
ES('M'),('1'),('f'),(NULL);

mysql> select * from t;

+--------+

| gender |

+--------+

| M |

| M |

| F |

| NULL |

+--------+

4 rows in set (0.01 sec)

--4.SET 类型

Set 和 ENUM 除了存储之外,最主要的区别在于 Set 类型一次可以选取多个成员,而 ENUM则只能选一个.

SET 类型可以从允许值集合中选择任意 1 个或多个元素进行组合,所以对于输入的值只要是

在允许值的组合范围内,都可以正确地注入到 SET 类型的列中。对于超出允许值范围的值例

如( ' a,d,f ' )将不允许注入到上面例子中设置的 SET 类型列中,而对于( ' a,d,a ' )这样包含重

复成员的集合将只取一次,写入后的结果为“a,d”,这一点请注意。

example:

mysql> create table t(col set('a','b','c','d'));

mysql> insert into t values('a,b'),('a,d,a'),('a,b'),('a,c'),('a');

mysql> select * from t;

+------+

| col |

+------+

| a,b |

| a,d |

| a,b |

| a,c |

| a |

73

+------+

5 rows in set (0.00 sec)

-------------------MySQL中的运算符----------------------

--1.算术运算符

mysql> select 0.1+ 0.3333 ,0.1-0.3333, 0.1*0.3333, 1/2,1%2;

%:用一个数除以另一个数然后取余;效果等同于取模mod(a,b)。

--2.比较运算符

除了常规的<、>、>=外,还有以下几种:

<>或!= :不等于

<=> :NULL 安全的等于(NULL-safe)

BETWEEN :存在与指定范围

IN :存在于指定集合

IS NULL :为 NULL

IS NOT NULL :不为 NULL

LIKE :通配符匹配

REGEXP 或 RLIKE :正则表达式匹配

* NULL 不能用于“=”比较

* “IN”运算符的使用格式为“a IN (value1,value2,…)”

* “REGEXP”运算符的使用格式为“str REGEXP str_pat”,当 str 字符串中含有 str_pat相匹配的字符串时,

则返回值为 1,否则返回 0。

--3.逻辑运算符(布尔运算符)

MySQL 支持 4 种逻辑运算符

运算符 作用

NOT 或! 逻辑非

AND 或&& 逻辑与

OR 或 || 逻辑或

XOR 逻辑异或

* mysql> select not 0, not 1, not null ;

+-------+-------+----------+

| not 0 | not 1 | not null |

+-------+-------+----------+

| 1 | 0 | NULL |

+-------+-------+----------+

1 row in set (0.00 sec)

* “XOR”表示逻辑异或。当任意一个操作数为 NULL 时,返回值为 NULL。

对于非 NULL 的操作数,如果两个的逻辑真假值相异,则返回结果 1;否则返回 0。

mysql> select 1 xor 1 ,0 xor 0,1 xor 0,0 xor 1,null xor 1;

+---------+---------+---------+---------+------------+

| 1 xor 1 | 0 xor 0 | 1 xor 0 | 0 xor 1 | null xor 1 |

+---------+---------+---------+---------+------------+

| 0 | 0 | 1 | 1 | NULL |

+---------+---------+---------+---------+------------+

1 row in set (0.00 sec)

--4.位运算符

位运算符一般用于加密,或者提高程序的性能等

运算符 作用

& 位与(位 AND)

| 位或 (位 OR )

^ 位异或(位 XOR)

~ 位取反

>> 位右移

<< 位左移

* 十 二

2-> 10

& 3-> 11

--------

10 -> 十

--------

2 -> 二

* 异或^的规律之一: a = a^b^b;

* 位取反~:

mysql> select ~1,~18446744073709551614;

+----------------------+-----------------------+

| ~1 | ~18446744073709551614 |

+----------------------+-----------------------+

| 18446744073709551614 | 1 |

+----------------------+-----------------------+

1 row in set (0.00 sec)

在 MySQL 中,常量数字默认会以 8 个字节来表示,8 个字节就是 64 位,常量 1 的二进制表示为 63 个“0”

加1个“1”,位取反后就是63个“1”加一个“0”,转换为二进制后就是18446744073709551614。

mysql> select bin(18446744073709551614);

+------------------------------------------------------------------+

| bin(18446744073709551614) |

+------------------------------------------------------------------+

| 1111111111111111111111111111111111111111111111111111111111111110 |

+------------------------------------------------------------------+

1 row in set (0.00 sec)

--5.运算符的优先级

很多情况下我们都是用“()”来将需要优先的操作括起来,

这样既起到了优先的作用,又使得其他用户看起来更加易于理解。

优先级顺序 运算符

1 :=

2 ||, OR, XOR

3 &&, AND

4 NOT

5 BETWEEN, CASE, WHEN, THEN, ELSE

6 =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN

7 |

8 &

9 <<, >>

10 -, +

11 *, /, DIV, %, MOD

12 ^

13 - (一元减号), ~ (一元比特反转)

14 !

-------------------MySQL的常用函数----------------------

--字符串函数(常用)

函数 功能

CANCAT(S1,S2,…Sn) 连接 S1,S2,…Sn 为一个字符串

INSERT(str,x,y,instr) 将字符

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇SQL之DECIMAL函数详解 下一篇MySQL的导入导出的操作步骤

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目