MySQL基础:常用的函数和索引构建

常用的函数

字符串相关

字符串拼接
SELECT CONCAT_WS('p','a','s','s')
-- pass
去空格
-- TRIM 去两端空格
SELECT TRIM(' pass ')

-- LTRIM 去左端空格
SELECT LTRIM (' pass')

-- RTRIM 去右端空格
SELECT LTRIM ('pass' )

替换字符串
-- '_bc' 区分大小写
REPLACE('abc', 'a', '_') 
比较是否相同
STRCMP('a','b')
-- 比较是否相同 忽略大小写
切分子字符串
SUBSTRING('abcde', 2, 2)
-- 结果bc 从1开始
翻转字符串
REVERSE('abc');

日期函数

SELECT DAYNAME(NOW()); -- Tuesday
SELECT DAYOFWEEK(now()); -- 3
MONTH(NOW()) -- 11
YEAR(NOW()) -- 2019
日期差
select datediff('2018-06-26','2018-06-25') -- 1

加密函数

md5

SELECT md5('ADMIN')

常用逻辑

条件判断

IF(判断语句,true 执行语句,false 执行语句)

SELECT ID IF(score >= 60, '及格', '不及格') FROM USER

CASE WHEN 判断语句 THEN 结果语句 …

SELECT id, username, score, CASE WHEN score > 60 THEN '及格' WHEN score = 60 THEN '太险了' ELSE '没及格' END FROM USER

索引构建

索引种类

  • 索引
  • 唯一索引
  • 全局索引
  • 单例索引
  • 多例索引
  • 空间索引

构建

索引

CREATE TABLE test4(
id TINYINT unsingned,
username VARCHAR(20),
INDEX in_id(id),
KEY in_username(username)
);

唯一索引

CREATE TABLE test5(
id TINYINT unsingned auto_increment KEY,
username VARCHAR(20) NOT NULL UNIQUE,
card CHAR(18) not NULL,
UNIQUE KEY uni_card(card)
);

全局索引

CREATE TABLE test6(
id TINYINT unsingned auto_increment KEY,
username VARCHAR(20) NOT NULL UNIQUE,
useDesc VARCHAR(20) NOT NULL,
FULLText INDEX full_userDesc(userDesc)
);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值