菜鸟的MySQL学习笔记(四)

MySQL中的运算符和函数:

1、字符函数;

2、数值运算符与函数;

3、比较运算符与函数;

4、日期时间函数;

5、信息函数;

6、聚合函数;

7、加密函数等;

6-1、字符函数:

CONCAT()                     字符连接

#SELECT  CONCAT(first_name,last_name) AS fullname FROM name_test;   从name表中 连接显示 first last

CONCAT_WS()              使用指定的分隔符进行字符连接

#SELECT CONCAT_WS(‘|‘,‘A‘,‘b‘,‘C‘) ;     第一个参数指定分隔符  结果 A|b|C

FORMAT()                     数字格式化,返回类型为字符型

#SELECT FORMAT(12560.75,2);     后面的2 指保留几位小数

LOWER()                       转换为小写字母

#SELECT LOWER(MySQL);    结果为mysql

UPPER()                        转换为大写字母

LEFT()                            获取左侧字符

#SELECT LEFT(MySQL,2);     结果为 My

RIGHT()                         获取右侧字符

LENGTH()                      获取字符串长度

#SELECT LENGTH(‘My SQL‘)  结果为6 中间有个空格

LTRIM()                         删除前导空格

# SELECT LENGTH(SELECT LTRIM(‘    MySQL   ‘);)  计算删除前导空格之后的字符长度

RIRIM()                          删除后续空格

TRIM()                           删除前导和后续空格

#SELECT TRIM(LEADING‘?‘ FROM  ‘???mysql???’) 将?替换掉空格 删除前导和后续的?  但中间的?去不掉

SUBSTRING()                字符串截取

#SELECT   SUBSTRING(‘MySQL‘,1,2)  截取位置第1个,长度为2

#SELECT   SUBSTRING(‘MySQL‘,3)     截取第3位以及以后的

#SELECT   SUBSTRING(‘MySQL‘,-1)    截取位置为-1,长度不能为负数

[NOT] LIKE                    模式匹配

#SELECT * FROM test WHERE first_name LIKE ‘%1%%‘ ESCAPE ‘1‘;   告诉1后面的%不需要作为通配符匹配

REPLACE()                    字符串替换

#SELECT REPLACE(‘???My??SQL???‘,‘?‘,‘!‘);  结果为!!!My!!SQL!!! 将?替换成!,也可以将?替换成空字符串(去空格,去符号)

6-2 数值运算符

CEIL()                      进一取整

#SELECT CEIL(3.01)  结果为4

DIV()                       整数除法

#SELECT 3 DIV 4   结果为0

#SELECT 3/4   结果为0.75

FLOOR()                 舍一取整

#SELECT FLOOR(3.01 ) 结果为3

MOD()                    取余数(取模)

#SELECT 5.3 MOD 3;  结果为2.3 等价于 5%3

POWER()                幂运算

#SELECT POWER(3,2); 结果为9

ROUND()                四舍五入

#SELECT ROUND(3.132432); 结果为3

TRUNCATE()           数字截取

#SELECT TRUNCATE(125.89,0)  结果为125  截取不做四舍五入操作

[NOT] BETWEEN ... AND ...   (不)在多少与多少之间的范围

[NOT] IN()                            (不)在列出值的范围内

IS [NOT] NULL                      (不)是空吗?

6-3日期时期函数

NOW()                        当前的日期和时间

CURDATE()                 当前的日期

CURTIME()                  当前的时间

DATE_ADD()               日期变化

#SELECT DATE_ADD(‘2015-3-12‘,INTERVAL -365 DAY); 日期减少365天

#SELECT DATE_ADD(‘2015-3-12‘,INTERVAL 3 WEEK);    日期增加3周

DATEDIFF()                 日期差值

#SELECT DATEDIFF(‘2013-3-12‘,‘2014-3-12‘); 计算日期的差值

DATE_FORMAT()        日期格式化

#SELECT DATE_FORMAT(‘2013-3-12‘,‘%m/%d/%Y‘);   把日期格式变为 3/12/2013

6-4 信息函数

CONNECTION_ID()               连接ID

DATEBASE()                          当前数据库

LAST_INSERT_ID()                 最后插入记录的ID号  多条数据同时插入,只打印第一条

USER()                                   当前用户

VERSION()                            版本信息

6-5 聚合函数

AVG()                   平均值

COUNT()              计数

MAX()                  最大值

MIN()                   最小值

SUM()                  求和

6-6 加密函数

MD5()                         信息摘要算法

#SELECT MD5(‘admin‘)

PASSWORD()             密码计算

#主要用来修改密码  SET PASSWOER=PASSWORD(‘admin‘)

时间: 2024-08-02 18:42:20

菜鸟的MySQL学习笔记(四)的相关文章

MySQL学习笔记(四):存储引擎的选择

一:几种常用存储引擎汇总表 二:如何选择 ? MyISAM:默认的MySQL插件式存储引擎.如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性.并发性要求不是很高,那么选择这个存储引擎是非常适合的.MyISAM是在Web.数据仓储和其他应用环境下最常使用的存储引擎之一. ? InnoDB:用于事务处理应用程序,支持外键.如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询以外,还包括很多的更新.删除操作,那么InnoDB存储引擎应

菜鸟的MySQL学习笔记(五)

7.自定义函数 用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同.包含了两个必要条件,参数与返回值.没有必然内在联系. 函数可以返回任意类型的值,同样可以接收这些类型的参数: 创建自定义函数: CREATE FUNCTION function_name             #函数名 RETURNS {STRING | INTEGER | REAL | DECIMAL}        #返回值类型 routine_body

菜鸟的MySQL学习笔记(三)

4-1插入记录INSERT INSERT [INTO] tbl_name [(col_name)] {VALUES|VALUE} ({expr|DEFAULT},...), (...), ...   #可以一次性插入多条记录 INSERT [INTO] tbl_name SET col_name = {expr | DEFAULT}, ...  #可以使用子查询 INSERT [INTO] tbl_name [(col_name,...)] SELECT ... #可以将查询的结果插入到指定的表

菜鸟的MySQL学习笔记(二)

3-1约束: 1.约束保证数据的完整性和一致性: 2.约束分表级约束(两个或两个个以上字段的约束)和列级约束(一个字段约束): 3.NOT NULL       非空: PRIMARY KEY       主键约束: UNIQUE KEY         唯一约束: DEFAULT               默认约束: FOREIGN KEY        外键约束. 空值与非空值: NULL 与 NOT NULL 自动编号: AUTO_INCREMENT 自动编号,必须与主键组合使用,默认情

MySQL学习笔记四:字符集

1.字符集就是字符和其编码的集合,查看数据库支持的字符集 show character set 2.查看服务端启动时默认的字符集 mysql> show variables like 'character_set_%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+------------

mysql学习笔记 第四天

mysql引擎: archive(档案)[数据插入以后不能被修改,只读] blackhole[这种写操作是删除数据,读操作是返回空白记录] CSV[在储存数据时以逗号作为数据项之间的分隔符] example[示例(存根)储存引擎] Falcon[用来进行处理事务的储存类型] federated[用来访问远程数据表的储存引擎] InnoDB[具备外键支持功能的事务处理引擎] memory[内存里的数据表] merge[用来管理多个MyISAM数据表构成的数据表集合(merg-myisam)] my

MySql学习笔记(一)之DQL常用查询

MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前,我们先做一些准备工作. 需要安装的软件如下: 1.mysql,版本可以选择5.1或者5.5,安装过程可以参考博客:http://www.cnblogs.com/ixan/p/7341637.html 2.mysql图形化管理软件:Navicate,sqlyog(二选一,推荐使用sqlyog). 本文

Mysql学习笔记(三)对表数据的增删改查。

写在前面:(一些牢骚,可以直接跳到分割线后) 太过敏感的人不会快乐,不幸的是我正是这种性格的人. 从培训机构毕业后,迫于经济方面的压力,和当时的班里的一个同学住在了一起,我们在一个公司上班.谁知道这都是不开心生活的源头,从每天早晨开始心情就很糟糕.他是个脾气很慢的人,我是个急脾气,特别是在早上上班的时候.由此种种吧,实在是不胜枚举.算了,还是不说了,太痛苦了,我不太喜欢说别人的坏话.我是学心理学的,已经用各种方法去安慰自己,但是都不太奏效. 回想以往和朋友的交往中,我虽然不算十分合群的人,但绝对

mysql学习笔记 第五天

使用分区数据表: 分区数据表和merge数据表具有相似的作用,但是分区数据表确确实实是一个数据表 ,不像merge是列出数据表的逻辑关系,并且分区数据表可以包括像myisam以外的 的数据表.创建分区数据表: create table 里给出数据列和索引,然后用partition by 定义一个用来把数据行分配 到各个分区的分区函数:[将数据表分成四个区] create table log_partition( dt datetime not null, info varchar(100) no