数据库中数据表的格式一般不是应用程序所需要的格式,如:

  1. 在一个字段中既显示公司名有显示公司地址,但这两个数据一般不在一张表中
  2. 城市,州和邮政编码在不同的列中,但邮件标签打印程序需要把他们作为一个恰当的标签打印出来

拼接字段

  在MySQL中的select语句中可以用concat(或Concat)函数拼接两列,concat需要指定一个或多个串,各串之间用逗号分隔。

  1. select concat(num,'(',grade,')') from stu_info;
  1. +---------------------------+
  2. | concat(num,'(',grade,')') |
  3. +---------------------------+
  4. | 000001(1006) |
  5. | 000002(1005) |
  6. | 000003(1009) |
  7. | 000004(1006) |
  8. | 000009(2004) |
  9. | 1(1009) |
  10. | 3(1005) |
  11. | 4(1009) |
  12. | 5(1005) |
  13. +---------------------------+
  14. 9 rows in set (0.00 sec)

使用别名

  select拼接工作完成后,得到一个新的列,但这个新的列的民字是什么呢,他没有实际名字,只是一个值,但未命名的列不能用于客户机中,因为客户机没办法引用一个未命名的列。

  别名用AS关键字赋予。

  1. select concat(num,'(',grade,')') as new_name from stu_info;
  2. +--------------+
  3. | new_name |
  4. +--------------+
  5. | 000001(1006) |
  6. | 000002(1005) |
  7. | 000003(1009) |
  8. | 000004(1006) |
  9. | 000009(2004) |
  10. | 1(1009) |
  11. | 3(1005) |
  12. | 4(1009) |
  13. | 5(1005) |
  14. +--------------+
  15. 9 rows in set (0.00 sec)

  任何客户机都可以按名引用这个列。他像实际的列表一样。

执行算数计算

  1. select id,price,price*num as sum_price from order

  sum_price作为一个计算字段,此计算为price*num,用圆括号括起来可区分优先级,支持的算术操作符为:+,-,*,/

拓展

  select实际上就是一个输出语句,select 2*3;输出6,select now();输出当前日期

  

MySQL创建计算字段的更多相关文章

  1. mysql必知必会--创建计算字段

    计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.下面举 几个例子. * 如果想在一个字段中既显示公司名,又显示公司的地址,但这两 个信息一般包含在不同的表列中. * 城市.州和邮政编码存 ...

  2. mysql创建计算列(5.7以后才有)

    mysql创建计算列   mysql> create table t(id int auto_increment not null,c1 int,c2 int,c3 int as (c1+c2) ...

  3. SQL 必知必会·笔记<5>创建计算字段

    字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一 般称为列,而术语字段通常与计算字段一起使用. 拼接(concatenate) 将值联结到一起(将一个值附加到另一 ...

  4. MySQL必知必会(创建计算字段(field))

    #字段(field)基本上和列(column)的意思相同 SELECT Concat(vend_name, ' (', vend_country, ')') FROM vendors ORDER BY ...

  5. Bug解决:mysql 创建表字段Double类型长度

    excel导入数据进行新增时,发现安装高度和可视距离在数据库创建都是double类型 程序跑完,执行成功后,数据库的数据是2,小数点后的数据没有了 打印sql并执行后发现sql并没有错误, 检查数据库 ...

  6. mysql创建计算列

    mysql> create table t(id int auto_increment not null,c1 int,c2 int,c3 int as (c1+c2),primary key( ...

  7. mysql 创建时间字段

    alter table table1 add order_date datetime null; mysql> select * from table1; +----------+------- ...

  8. MySQL快速回顾:计算字段与函数

    9.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.比如: 如果想要在一个字段中既显示公司名,又显示公式的地址,但这两个信息一般包含在不同的表列中. 城市.州和邮政编码存储在不同的列 ...

  9. SQL必知必会 -------- 通配符、计算字段、函数

    1.LIKE操作符 1.1百分号(%)通配符 SELECT prod_id, prod_name FROM Products WHERE prod_name LIKE 'Fish%' 此例子使用了搜索 ...

随机推荐

  1. 牛客多校第五场 F take

    链接:https://www.nowcoder.com/acm/contest/143/F来源:牛客网 题目描述 Kanade has n boxes , the i-th box has p[i] ...

  2. 实力封装:Unity打包AssetBundle(二)

    →前情提要:Unity最基本的AssetBundle打包方式. 第二种打包方式 Unity提供的BuildAssetBundles API还有一个重载形式,看下面↓↓ public static As ...

  3. mysql 优化2

    6. 合理使用EXISTS,NOT EXISTS子句.如下所示: 1.SELECT SUM(T1.C1) FROM T1 WHERE (SELECT COUNT(*)FROM T2 WHERE T2. ...

  4. HTTP、TCP、IP、协议

    HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范). 目前绝大部分使用的都是HTTP/1.1版本 ...

  5. Day16作业及默写

    hashlib模块,写函数校验两个文件是否内容相同(如果这两个文件很大) import hashlib md5 = hashlib.md5() md5.update(b'hello') md5.upd ...

  6. winform dataGridView中的button点击判断

    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowI ...

  7. IDEA如何自动生成testNG的测试报告?

    问:eclipse会在test-output目录下自动生成测试报告,想知道IDEA是只可以在控制台那里点击导出手动生成报告么? 答:编译器选择Edit Configuration,找到测试项,找到Li ...

  8. Python 基于队列的进程通信

    from multiprocessing import Process,Queue def f1(q): q.put('约吗?') if __name__ == '__main__': q = Que ...

  9. 2017ICPC北京赛区网络赛 Minimum(数学+线段树)

    描述 You are given a list of integers a0, a1, …, a2^k-1. You need to support two types of queries: 1. ...

  10. HDU 3130 17多校7 Kolakoski(思维简单)

    Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This seq ...