1,根据条件对列值进行修正
mysql>UPDATE my_table
-->SET new_column = //需要调整值的列
-->CASE //关键词
-->WHEN column1 = somevalue1 //条件1,条件表达式可以包含许多部分,多个分句。
--> THEN newvalue1 //如果符合条件1,执行这一句,将new_column的值设为此处的值
-->WHEN column2 = somevalue2 //条件2
--> THEN newvalue2
-->ELSE newvalue3 //如果上面的条件都不符合,那么执行这一句,new_column的值设为此处的值。
-->END; //CASE表达式和整个语段结束。END后还可以接WHERE对CASE表达式的作用范围做进一步限定
2,排序
mysql>SELECT title,category
-->FROM movie_table
-->WHERE
-->category ='family'
-->ORDER BY title; //这里排序先后:非字母 数字 大写 小写 ,大小写是同一字母的大小写按先大写后小写排,不同字母还是按字母表哪怕大小写不一致。空格会排在最前面,有空格的字符串会排在有相同字符但是没有空格的字符串前面。可以按两列或者多列排,从前往后排序优先级下降。
mysql>SELECT title
-->FROM movie_table
-->ORDER BY title ASC,purchased DESC ; //这句中,ASC表示按升序排序,DESC表示按降序排序,注意两个关键词的放置位置,DESC在不同位置有不同含义,是个多义关键词,要注意。
3,数学运算
mysql>SELECT SUM(column_name),AVG(column_name) //MIN,MAX 计算最值COUNT返回指定列的行数,数值为空则不计 这三个函数用法与SUM AVG一致
-->DISTINCT date //DISTINCT 是关键词,不加括号,返回独一无二的值,也就是没有重复的元素,与COUNT函数可以搭配。
-->FROM my_table //所有函数对于NULL都不计算,也不返回NULL。
-->GROUP BY name //根据name列内容进行分组
-->ORDER BY SUM(column_name)DESC //可以根据函数排序
-->LIMIT 2 //将显示的内容限制为只显示两个,如果有两个数,第一个表示显示内容从该位置开始,第二个表示显示的数量,序数从0开始
-->WHERE column='condition'
以上关键词和函数都能组合使用