博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL(四)字段及常用函数
阅读量:6082 次
发布时间:2019-06-20

本文共 1921 字,大约阅读时间需要 6 分钟。

一、字段

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

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

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月的所有行!

 

转载地址:http://lwkwa.baihongyu.com/

你可能感兴趣的文章
对 Sea.js 进行配置(一) seajs.config
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>