1、拼接字段
1)在MyAQL的select语句中,可使用Concat()函数来拼接两个列:
select Concat(vend_name, '(',vend_country, ')') from vendors order by vend_name;
Concat()拼接串,即把多个串连接起来形成一个较长的串。
Concat()需要一个或多个指定的串,各个串之间用逗号分隔,上面的select语句连接一下4个元素:
存储在vend_name列表的名字;
包含一个空格和一个左圆括号的串;
存储在vend_country列中的国家;
包含一个右圆括号的串。
2)RTrim()函数去掉值右边的所有空格。通过使用RTrim(),各个列都进行了整理:
select Concat(RTrim(vend_name), '(',RTrim(vend_country),')') from vendors order by vend_name;
Trim函数 MySQL除了支持RTrim() (正如刚才所见,它去掉串右边的空格),还支持LTrim() (去掉串左边的空格)以及Trim() (去掉串左右两边的空格)
3)使用别名
别名(alias)是一个字段或值得替换名。别名用AS关键字赋予。
select Concat(RTrim(vend_name), '(', RTrim(vend_country), ')') AS vend_title from vendors order by vend_name;
2、执行算术计算
select prod_id,quantity,item_price,quantity*item_price AS expanded_price from orderitems where order_num = 20005;
MySQL支持+、-、*、\的基本算术操作符外,圆括号可用来区分优先顺序。
注:mysql计算字段运用方便,不过在项目开发中不建议使用,后端需要对数据库进行操作的话有两种处理方式:
1> 处理交给mysql数据库自己来处理,方法是可以设定mysql定时器,存储过程创建完毕后交由mysql定时处理event事件进行处理即可;
2>这种就是我们初学者所熟悉的交由后台处理了,如果对数据库的操作需要定时执行的话,可以选择创建一个独立的子线程去单独执行定时任务, 问题是:后台创建线程会消耗系统资源,所以创建线程不宜多,这里有个原则:尽量减少对数据库的数据查询操作;