一、字段

数据库表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。

在数据库中存放在表行列交叉处的数据叫做“值”,它是数据库中最基本的存储单元,它的位置要由这个表中的记录和字段来定义。

1、字段(filed):与对象或类关联的变量(大多数时候,与列的意思相同);每个字段由若干按照某种界限划分的相同数据类型的数据项组成。

但有时候,字段不是表中的列,而是在计算字段的连接上;

2、拼接(concatenate):用来拼接2个列的函数,可将值联结到一起构成单个值

PS:多数DBMS使用+或者||实现拼接,MySQL则使用concat()函数来实现(当把SQL语句转换为MySQL语句时,要注意这个区别)

concat()函数:拼接串,即把一个或多个串连接起来形成一个较长的串;需要一个或多个指定的串,各个串之间用逗号分隔

3、别名(alias):一个字段或值的替换名,别名用as关键字赋予(比如上面例子中的abc),有时也称为导出列(derived column)

别名的作用:

①指示SQL创建一个包含指定计算的计算字段

②在实际的表列名包含不符合规定的字符(如空格)时重新命名它

③在原来的名字含混或容易误解时扩充它

4、算数操作符:计算字段时常用的操作符

计算字段的常见用途就是对检索出的数据进行算数计算,MySQL基本操作符如下:

其中,圆括号()可用来区分优先顺序

二、数据处理函数

1、特点

SQL支持利用函数来处理数据,函数一般都是在数据上执行的

函数没有SQL的可移植性强(能运行在多个系统上的代码称为可移植的{portable}),多数SQL是可移植的

函数可移植性不强(几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异很大)

PS:如果使用函数,应保证做好代码注释,以便日后使用时可以确切知道所编写的SQL代码的含义

大多数SQL实现支持一下类型函数:

①用于处理文本串(删除填充值,转换值大小写等)的文本处理函数

②用于在数值数据上进行算数操作(如返回绝对值,进行代数运算)的数值处理函数

③用于处理日期和时间值并从这些值中提取特定成分(如返回两个日期之差,检查日期有效性等)的日期和时间处理函数

④返回DBMS正在使用的特殊信息(如返回用户登陆信息,检查版本细节等)的系统函数

2、文本处理函数

例子:select column upper(column) as column1 from table order by column;

常见的文本处理函数表如下:

soundex是一个将任何文本串转换为描述其语音表示的字母数字模式的算法;soundex考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较(多数DBMS都提供对其的支持)

3、数值处理函数

数值处理函数仅处理数值数据,这些函数一般主要用于代数、三角或几何计算,使用频率相对不是太高(在主要的DBMS中,数值函数是最统一最一致的函数)

常用数值处理函数表如下:

4.日期和时间处理函数

日期和时间采用相应的数据类型和特殊的格式存储,一遍可以快速有效的排序或过滤,并且节省物理存储空间

一般来说应用程序不适用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、统计和处理这些值(日期和时间函数在MySQL语言中具有重要的作用)

常用日期和时间处理函数表如下:

PS:对于日期,无论插入更新还是使用where子句进行过滤,日期格式必须为yyyy-mm--dd,而且应始终使用4位数字的年份

如果需要的是日期值,使用date()函数是一个好习惯;如果想要时间值时,time()函数也是最好的选择

例子:select column1, column2 from table where date(table_date) between '2013-05-20' and '2014-5-20';

其中between操作符用来把2013-05-20和2014-05-20定义为一个要匹配的日期范围

select column1, column2 from table where year(table-date) = 2013 and month(table_date) = 5;

year()是一个日期(从日期时间)中返回年份的函数,month()从日期中返回月份;

因此,where year(table-date) = 2013 and month(table_date) = 9检索出table_date为2013年5月的所有行!

MySQL(四)字段及常用函数的更多相关文章

  1. 【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比

    SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 1. 绝对值 S:select abs(-1) valu ...

  2. Vertica的这些事(二)——SQL-Server、Oracle、MySQL和Vertica数据库常用函数对比

    SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 绝对值 S:select abs(-1) value O ...

  3. MySQL学习笔记(三)——计算字段及常用函数

    拼接字段-Concat()函数        将值连接在一起构成单个值.注意:大多数DBMS使用+或者||来实现拼接,mysql则使用Concat()函数来实现. 去空格函数-Trim函数       ...

  4. MySQL(5)— 常用函数

    五.MySQL常用函数 可参考[官网文档]https://dev.mysql.com/doc/refman/8.0/en/ 5-1.基本函数 数学运算: -- 数学运算 SELECT ABS(-8) ...

  5. 【MySQL基础总结】常用函数库

    常用函数库 数学函数 分类及含义 示例 字符串函数 分类及含义 示例 日期时间函数 分类及含义 示例 条件判断函数 分类及含义 示例 系统函数 分类及含义 加密函数 分类及定义 其他常用函数 分类及含 ...

  6. MySQL:基本操作与常用函数

    基本操作 这里的基本操作为添加.修改.删除数据表中的记录. INSERT语句 -- 通用INSERT: INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, . ...

  7. mysql九大类常用函数

    一.数学函数 ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方 ...

  8. [转]MySQL日期与时间戳常用函数

    本文原文地址:https://www.cnblogs.com/jhy-ocean/p/5560857.html 平时比较常用的时间.字符串.时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜 ...

  9. 四、spark常用函数说明学习

    1.parallelize       并行集合,切片数.默认为这个程序所分配到的资源的cpu核的个数.       查看大小:rdd.partitions.size      sc.paraliel ...

随机推荐

  1. csharp:FTP Client Library using FtpWebRequest or Sockets

    https://netftp.codeplex.com/SourceControl/latest http://ftplib.codeplex.com/ https://www.codeproject ...

  2. 根据需要扩展java中的ThreadPoolExecutor

    经常被重写的三个方法 ThreadPoolExecutor是可扩展的,通过查看源码可以发现,它提供了几个可以在子类化中改写的方法:beforeExecute,afterExecute,terminat ...

  3. plsql调试存储过程卡住的原因以及处理

    用PLSQL调试存储过程的时候,经常会遇到这个的情况,点调试后,继续点单步都是灰色,想停下来,但是取消也要点很多次才能取消掉. 就像下面的情况: 一直以为是个BUG,直到最近有人告诉我了真相. 出现这 ...

  4. Flutter 布局(八)- Stack、IndexedStack、GridView详解

    本文主要介绍Flutter布局中的Stack.IndexedStack.GridView控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Stack A widget that po ...

  5. mysql的高级特性-存储过程

    定义: 存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称来执行这些sql语句命令. 语法: DELIMITER // 声明语句结束符,用于区分; CEATE PROCED ...

  6. EntityFramework Code-First 简易教程(五)-------领域类配置

    前言:在前篇中,总是把领域类(Domain Class)翻译成模型类,因为我的理解它就是一个现实对象的抽象模型,不知道对不对.以防止将来可能的歧义,这篇开始还是直接对Domain Class直译. 前 ...

  7. ES6 入门

    1.简介 ECMAScript 6.0 是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序, ...

  8. ssh登陆慢的问题

    识别主机名时卡一下,关掉DNS选项: root@ns-virtual-machine:~# grep -i dns /etc/ssh/sshd_config UseDNS no 如果还有问题,打开ve ...

  9. https://www.testingcircus.com/tell-me-about-yourself-6-sample-answers-software-testers/

    https://www.testingcircus.com/tell-me-about-yourself-6-sample-answers-software-testers/ Tell Me Abou ...

  10. Centos7使用Docker安装Gogs搭建git服务器

    gihub地址:https://github.com/gogs/gogs gogs官网:https://gogs.io/ gihub官方docker安装gogs方法:https://github.co ...