一千行MySQL学习笔记(十)

--// 内置函数 ----------
-- 数值函数
abs(x) -- 绝对值 abs(-10.9) = 10
format(x, d) -- 格式化千分位数值 format(1234567.456, 2) = 1,234,567.46
ceil(x) -- 向上取整 ceil(10.1) = 11
floor(x) -- 向下取整 floor (10.1) = 10
round(x) -- 四舍五入去整
mod(m, n) -- m%n m mod n 求余 10%3=1
pi() -- 获得圆周率
pow(m, n) -- m^n
sqrt(x) -- 算术平方根
rand() -- 随机数
truncate(x, d) -- 截取d位小数

-- 时间日期函数
now(), current_timestamp(); -- 当前日期时间
current_date(); -- 当前日期
current_time(); -- 当前时间
date(‘yyyy-mm-dd hh:ii:ss‘); -- 获取日期部分
time(‘yyyy-mm-dd hh:ii:ss‘); -- 获取时间部分
date_format(‘yyyy-mm-dd hh:ii:ss‘, ‘%d %y %a %d %m %b %j‘); -- 格式化时间
unix_timestamp(); -- 获得unix时间戳
from_unixtime(); -- 从时间戳获得时间

-- 字符串函数
length(string) -- string长度,字节
char_length(string) -- string的字符个数
substring(str, position [,length]) -- 从str的position开始,取length个字符
replace(str ,search_str ,replace_str) -- 在str中用replace_str替换search_str
instr(string ,substring) -- 返回substring首次在string中出现的位置
concat(string [,...]) -- 连接字串
charset(str) -- 返回字串字符集
lcase(string) -- 转换成小写
left(string, length) -- 从string2中的左边起取length个字符
load_file(file_name) -- 从文件读取内容
locate(substring, string [,start_position]) -- 同instr,但可指定开始位置
lpad(string, length, pad) -- 重复用pad加在string开头,直到字串长度为length
ltrim(string) -- 去除前端空格
repeat(string, count) -- 重复count次
rpad(string, length, pad) --在str后用pad补充,直到长度为length
rtrim(string) -- 去除后端空格
strcmp(string1 ,string2) -- 逐字符比较两字串大小

-- 流程函数
case when [condition] then result [when [condition] then result ...] [else result] end 多分支
if(expr1,expr2,expr3) 双分支。

-- 聚合函数
count()
sum();
max();
min();
avg();
group_concat()

-- 其他常用函数
md5();
default();

(未完待续) 

(作者:Shocker 来源:http://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html)

时间: 2024-12-20 14:42:49

一千行MySQL学习笔记(十)的相关文章

一千行MySQL学习笔记(十二)

/* 用户和权限管理 */ ----------- 用户信息表:mysql.user -- 刷新权限FLUSH PRIVILEGES -- 增加用户CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串)- 必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限.- 只能创建用户,不能赋予权限.- 用户名,注意引号:如 'user_name'@'192.168.1.1'- 密码也需引号,纯数字密码也要加引号- 要在纯文本中指定密码

一千行MySQL学习笔记

/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES --

一千行MySQL学习笔记【博客园】

/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES --

一千行MySQL学习笔记(七)

/* 事务(transaction) */ ------------ 事务是指逻辑上的一组操作,组成这组操作的各个单元,要不全成功要不全失败. - 支持连续SQL的集体成功或集体撤销. - 事务是数据库在数据晚自习方面的一个功能. - 需要利用 InnoDB 或 BDB 存储引擎,对自动提交的特性支持完成. - InnoDB被称为事务安全型引擎. -- 事务开启 START TRANSACTION; 或者 BEGIN; 开启事务后,所有被执行的SQL语句均被认作当前事务内的SQL语句. -- 事

一千行MySQL学习笔记(六)

/* 备份与还原 */ ------------- 备份,将数据的结构与表内数据保存起来. 利用 mysqldump 指令完成. -- 导出 1. 导出一张表 mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql)2. 导出多张表 mysqldump -u用户名 -p密码 库名 表1 表2 表3 > 文件名(D:/a.sql)3. 导出所有表 mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql)4. 导出一个库 mysqldump

一千行MySQL学习笔记(十一)

--// 存储函数,自定义函数 ---------- -- 新建 CREATE FUNCTION function_name (参数列表) RETURNS 返回值类型 函数体 - 函数名,应该合法的标识符,并且不应该与已有的关键字冲突. - 一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库. - 参数部分,由"参数名"和"参数类型"组成.多个参数用逗号隔开. - 函数体由多条可用的mysql

一千行MySQL学习笔记(八)

/* 触发器 */ ------------------ 触发程序是与表有关的命名数据库对象,当该表出现特定事件时,将激活该对象 监听:记录的增加.修改.删除. -- 创建触发器 CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt参数:trigger_time是触发程序的动作时间.它可以是 before 或 after,以指明触发程序是在激活它的语句之前或之后触发

一千行MySQL学习笔记(五)

/* 导入导出 */ ------------- select * into outfile 文件地址 [控制格式] from 表名; -- 导出表数据load data [local] infile 文件地址 [replace|ignore] into table 表名 [控制格式]; -- 导入数据 生成的数据默认的分隔符是制表符 local未指定,则数据文件必须在服务器上 replace 和 ignore 关键词控制对现有的唯一键记录的重复的处理 -- 控制格式 fields 控制字段格式

一千行MySQL学习笔记(四)

/* UNION */ ------------------ 将多个select查询的结果组合成一个结果集合. SELECT ... UNION [ALL|DISTINCT] SELECT ... 默认 DISTINCT 方式,即所有返回的行都是唯一的 建议,对每个SELECT查询加上小括号包裹. ORDER BY 排序时,需加上 LIMIT 进行结合. 需要各select查询的字段数量一样. 每个select查询的字段列表(数量.类型)应一致,因为结果中的字段名以第一条select语句为准.