数据类型和运算符
内容导航
- 熟悉常见数据类型的概念和区别
- 掌握如何选择数据类型
- 熟悉常见运算符的概念和区别
数据类型介绍
MySQL主要有数值类型,日期/时间类型和字符串类型。
(1)数值数据类型:包括整数类型TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT,
浮点小数数据类型FLOAT和DOUBLE,定点小数类型DECIMAL.
(2)日期/时间类型: 包括YEAR, TIME, DATE, DATETTIME和TIMESTAMP.
(3)字符申类型:包括CHAR, VARCHAR, BINARY, VARBJNARY, BLOB, TEXT, ENUM,SET等。
整数类型
CREATE TABLE tmpl (x TINYINT,y SMALLINT,z MEDIUMINT,m INT,n BIGINT );
desc tmpl;
浮点数类型和定点数类型
CREATE TABLE tmp2 ( x FLOAT(5,1),y DOUBLE(5,1),DECIMA(20,2));
desc tmp2;
日期时间类型
select NOW();–函数返回当前系统的日期和时间值
字符串类型
TEXT列保存非二进制类型:如文常内容,评论等
Text类型分为4种:
- TINYTEXT,
- TEXT,
- MEDIUMTEXT
- LONGTEXT
ENUM类型
ENUM是一个字符串对象
CREATE TABLE tmp9( enm ENUM('first','second','third') );
SET类型
SET是一个字符串对象,可以有零或多个值,SET列最多可以有64个成员
与ENUM类型相同,SET值在内部用整数表示,列表中每一个值都有一个索引编号。
CREATE TABLE tmpl1 (s SET(‘a’,‘d’));
MySQL支持两类字符型数据: 文本字符串和二进制字符串.
MySQL中的二进制数据类型有:
- BIT,
- BINARY,
- VARBTNARY,
- TIYBLOB,
- BLOB ,
- MEDIUMBLOB
- LONGBLOB
如何选择数据类型
选择varchar即可
常见运算符介绍
运算符概述
算术运算符 包括加<+>,减<->,乘<*> ,除</>求余<或称模运算, <%>。
比较运算符 >,>=,<,<=,!=,以及
- **iS NULL
- ,is not null,
- isNULL,
- LEAST,
- GREATEST,
- BETWEEN AND,
- IN ,
- Not in,
- LIKE,REGEXP**
等。
逻辑运算符 这类运算符 有:
- 逻辑非< NOT 或者!),
- 逻辑与<AND 或者&&> ,
- 逻辑或<OR 或者||> ,
- 逻辑异或< XOR> .
位操作运算符 按二进制位进行运算。 包括位与<&> ,位或<|> ,位非<~> ,位异或^ ,左移<<,右移>>
IS NULL和ISNULL检验一个值是否为NULL,如果为NULL,返回值为1,否则返回值为0.,IS NOT NULL检验一个值是否为非NULL,如果是非NULL,返回值为1,否则返回值为0。
SELECT NULL IS NULL,ISNULL(NULL),ISNULL(10),10 IS NOT NULL;
least运算符
语法格式为:LEAST(值1,值2.……值n),其中值n表示参数列表中有n个值。在有两个或多个参数的情况下,返回最小值。假如任意一个自变量为NULL,则LEAST()的返回值为NULL。
SELECT least(2,0),least(20.0,3.0,100.5),least('a','c','b'),least(10,NULL);
SELECT greatest(2,0),greatest(20.0,3.0,100.5),greatest('a','c','b'),greatest(10,NULL);
IN 运算符用来判断操作数是否为 1N 列表中的其中一个值, 如果是返回1; 否则返回0
NOT IN 运算符用来判断表达式是否为 IN 列表中的其中- 个值,如果不是返回1; 否则返回0
LIke运算符用来匹配字符串
LIKE 运算符在进行匹配时, 可以使用下面两种通配符:
(1)"%"匹配任何数目的字符, 甚至包括零字符。
(2)"_"只能匹配一个字符。
REGEXP运算符用来匹配字符串
(1)"^" 匹配以该字符后面的字符开头的字符串.
(2)"$" 匹配以该字符后面的字符结尾的字符串.
(3)"." 四配任何一个单字符。
(4)"[ … ]" 匹配在方括号内的任何字符。例如,"[abc]“匹配 a、 b 或c
(5)”*" 匹配零个或多个在它前面的字符