计算机网络技术就业方向及前景,西安seo网站排名优化公司,长沙传媒公司有哪些,怎样建设团学组织微信网站1.表达式 如#xff1a;11#xff0c;一般包含操作数#xff0c;运算符。 _1.操作数 MYSQL中最常用的操作数有以下几种 (1).常数 (2).列名#xff0c;针对某个具体的表#xff0c;它的列名可被当作表达式的一部分 (3).函数调用 一个函数用于完成某个特定的功能。比如NOW()…1.表达式 如11一般包含操作数运算符。 _1.操作数 MYSQL中最常用的操作数有以下几种 (1).常数 (2).列名针对某个具体的表它的列名可被当作表达式的一部分 (3).函数调用 一个函数用于完成某个特定的功能。比如NOW()获取当前时间。 (4).其他表达式 一个表达式也可作为一个操作数与另一个操作数形成一个更复杂的形式。
_2.运算符 常用的有 (1).算术运算符
运算符示例描述ab加法-a-b减法*a*b乘法/a/b除法DIVa DIV b除法取商的整数部分%a%b取余--a取负值
DIV取商的整数部分/会保留小数部分。 (2).比较运算符
运算符示例解释ab等于ab等于NULL值安全等于或!ab不等于ab小于ab小于或等于ab大于ab大于等于BETWEENa BETWEEN b AND ca需满足bacNOT BETWEENa NOT BETWEEN b AND ca需不满足bacINa IN (b1, b2)a是b1,b2中的某个NOT INa NOT IN (b1, b2, b3)a不是b1,b2中的某个IS NULLa IS NULLIS NOT NULLa IS NOT NULLLIKEa LIKE ba匹配bNOT LIKEa NOT LIKE b不匹配
比较表达式结果要么1TRUE要么0FALSE (3).逻辑运算符
运算符示例描述NOT也可写作!NOT a对a取反AND也可写作a AND bOR也可写作XORa XOR ba和b有且只有一个为真时表达式为真
_3.表达式的使用 _3.1.作为计算字段放在SELECT子句中 如SELECT number, score100 FROM student_score; 还有像这样的SELECT 1, ‘a’ FROM student_score; 查询处理为 (1).基于FROM结合WHERE得到结果集。 (2).对结果集每一行结合SELECT语句得到最终集中一行结果。
_3.2.作为搜索条件放在WHERE子句 基于FROME结合WHERE得到结果集时对FROM得到表的每一行采用WHERE表达式结果为TRUE此行加入结果集。
_3.3.表达式中的NULL _3.3.1.NULL作为算术符的操作数时表达式的结果都为NULL 如1NULL结果是NULLNULL*1结果也是NULL _3.3.2.除、IS NULL、IS NOT NULL外NULL作为其余比较运算符的操作数时表达式的结果都为NULL。 如1NULL结果是NULL2NULL结果是NULL。 IS NULLIS NOT NULL用于判断某个值是否为NULL结果只能是0或1。 的操作数不包含NULL时等价于当的一个操作数为NULL另一个不为NULL时结果为0两个操作数都为NULL时结果为1
2.函数 _1.字符串处理函数
名称调用示例结果描述LEFTLEFT(‘abc123’, 3)abc提取左边指定长度串RIGHTRIGHT(‘abc123’, 3)123LENGTHLENGTH(‘abc’)3LOWERLOWER(‘ABC’)abcUPPERUPPER(‘abc’)ABCLTRIMLTRIM(’ abc’)abcRTRIMRTRIM(abc )abcSUBSTRINGSUBSTRING(‘abc123’, 2, 3)bc1CONCATCONCAT(‘abc’, ‘123’, ‘xyz’)abc123xyzCHAR_LENGTHCHAR_LENGTH(‘狗哥’)2给定字符串的字符数量
_2.日期和时间处理函数
名称示例结果描述NOWNOW()2021-05-11 17:10:43当前日期和时间CURDATECURDATE()2021-05-11CURTIMECURTIME()17:10:43DATEDATE(‘2021-05-11 17:10:43’)2021-05-11将给定日期和时间值的日期提取出来DATE_ADDDATE_ADD(‘2021-05-11 17:10:43’, INTERVAL 2 DAY)2021-05-13 17:10:43DATE_SUBDATE_SUB(‘2021-05-11 17:10:43’, INTERVAL 2 DAY)2021-05-09 17:10:43DATEDIFFDATEDIFF(‘2021-05-11’, ‘2021-05-17’)-6DATE_FORMATDATE_FORMAT(NOW(), ‘%m-%d-%Y’)05-11-2021YEARYEAR(‘2021-05-11 17:10:43’)2021MONTHMONTH(‘2021-05-11 17:10:43’)5DAYDAY(‘2021-05-11 17:10:43’)11HOURHOUR(‘2021-05-11 17:10:43’)17MINUTEMINUTE(‘2021-05-11 17:10:43’)10SECONDSECOND(‘2021-05-11 17:10:43’)43
_2.1.使用DATE_ADDDATE_SUB时可自定义增加或减去的时间间隔的单位。
单位描述MICROSECOND毫秒SECOND秒MINUTE分钟HOUR小时DAY天WEEK星期MONTH月QUARTER季度YEAR年
如SELECT DATE_ADD(‘2021-05-11 17:10:43’, INTERVAL 2 MINUTE)
_2.2.使用DATE_FORMAT需注意可通过一些所谓的格式符来自定义日期和时间的显示格式。
格式符含义%b简写的月份名称Jan、、、%D带英文后缀的月份中的日期0th1st…%d数字格式的月份中的日期(0001…)%f微妙(000000~999999)%H24小时制的小时00~23%h12小时制的小时01~12%i数值格式的分钟00~59%M月份名January…%m数值形式的月份00~12%p上午或下午AM代表上午PM代表下午%S秒(00~59)%s秒(00~59)%W星期名(Sunday…)%w周内第几天0星期日…%Y4位数字形式的年例如2019%y2位数字形式的年例如19
_2.3.数值处理函数
名称示例结果描述ABSABS(-1)1PiPI()3.141593COSCOS(PI())-1SINSIN(PI())1TANTAN(0)0POWPOW(2, 2)4SQRTSQRT(9)3MODMOD(5, 2)1RANDRAND()0.7537623539136372CEILCEIL(2.3)3FLOORFLOOR(2.3)2
_2.4.流程控制表达式和函数 CASE WHEN 表达式1 THEN 结果1 [WHEN 表达式1 THEN 结果1 …] [ELSE 默认结果] END 如SELECT number, score, CASE WHEN score 60 THEN ‘不及格’ WHEN score 90 THEN ‘及格’ ELSE ‘优秀’ END As level FROM student_score;
CASE表达式还有第二种形式 CASE 待比较表达式 WHEN 表达式1 THEN 结果1 [WHEN 表达式2 THEN 结果2 …] [ELSE 默认结果] END 它的含义是 (1).待比较表达式值和表达式1值相同时整个CASE值是结果1 (2).待比较表达式值和表达式2值相同时整个CASE值是结果2 … (3).待比较表达式值和所有WHEN后的表达式值都不同则整个CASE表达式的值就是ELSE之后的默认结果。 如SELECT name, department, CASE deparement WHEN ‘计算机学院’ THEN ‘1级学科’ WHEN ‘航天学院’ THEN ‘2级学科’ END AS 学院类别 FROM student_info;
除CASE语句外还可用下面三个函数进行条件判断。 (1).IF(表达式1, 表达式2, 表达式3) 含义为表达式1为TRUE时返回值为表达式2否则为表达式3 (2).IFNULL(表达式1, 表达式2) 含义为当表达式1为NULL时返回值为表达式2否则为表达式1 (3).NULLIF(表达式1, 表达式2) 含义为当表达式1值和表达式2值相同时返回值为NULL否则为表达式1
_2.5.汇总函数 _1.常见函数 (1).MAX(表达式) (2).MIN(表达式) (3).SUM(表达式) (4).AVG(表达式) (5).COUNT(表达式) 上述函数的原理是先从表运算得到结果集1结果集1通过WHERE过滤得到结果集2对结果集2的每一行执行汇总函数。结果集2中所有行处理完毕后得到一个最终结果。 _2.汇总函数中DISTINCT的使用 如SELECT COUNT(DISTINCT major) FROM student_info; 这样结果集2中相同的表达式即使出现在多行也只参与一次汇总函数运算。 _3.使用多个汇总函数 如SELECT COUNT(*) AS 成绩记录总数, MAX(score) AS 最高成绩, MIN(score) AS 最低成绩, AVG(score) AS 平均成绩 FROM student_score;
3.隐式类型转换 _1.将操作数类型转换为运算符需要的类型 如SELECT 12, ‘1’2, ‘1’‘2’结果中每一列都是数值3 一些字符串转换成数值的举例 “12a”–12“2019-01”–2019“abc”–0 _2.将函数参数转换成该函数期望的类型 指的是实参被转换为形参所需类型。 如CONCAT(‘1’, ‘2’)CONCAT(‘1’, 2)CONCAT(1, 2)结果都是’12’。 _3.在WHERE子句中单独的字符串类型的表达式会被转换为DOUBLE类型的数值。 _4.存储数据时把某个值转换为某个列需要的类型 类似与实参转换为形参。 注意的是向表中插入记录时发生字符串的表达式转换为DOUBLE时不可产生截断。 ‘12a’-12产生截断因为存在字符a未参与转换。 ‘12’-12未产生截断因为所有字符都参与了转换。