# *****************************常用查询****************************
SELECT VERSION();
SHOW ENGINES;
#IFNULL(e1,r1):如果e1为空,则返回r1;
SELECT IFNULL(`user`.photo,"") FROM `user`;
#IF(e1,r1,r2):类似于三目运算符
SELECT IF( STRCMP(`user`.photo,'default.jpg')=0,"default","---") FROM `user`;
# *****************************全局变量*****************************
/*
展示系统变量,当不加global的时候,默认为会话变量
*/
show GLOBAL VARIABLES;
SHOW GLOBAL VARIABLES LIKE '%char%';
#查询前局变量
SELECT @@global.character_set_client;
/*
设置全局变量,当mysql重启后,设置的全局变量会被默认值替代
*/
SET @@global.character_set_client='utf8mb4';
# ********************************会话变量***************************
/*
展示会话变量
*/
SHOW SESSION VARIABLES;
#查询会话变量
SELECT @@session.character_set_client;
/*
设置会话变量,只在当前会话有效,当开启一个新的会话时,将无效。
*/
SET @@session.character_set_client='utf8mb4';
#*********************************字符串处理***************************
-- 字符串拼接
#concat函数可以一次性拼接多个字符串或数值型
SELECT CONCAT(city,addrDetail,mobile) FROM address;
-- 字符串比较
#strcmp(str1,str2)函数:当str1>str2,返回1;当str1=str2,返回0;当str1<str2时,返回-1.
SELECT STRCMP("1","2");
-- 字符串截取
#substr(str,start):字符串的起始位置为1,不是0.
SELECT SUBSTR("abcdefghijkl",1);
#substring(str,start,length):length代表截取的长度
SELECT SUBSTRING("abcdefghijkl",1,3);
#*******************************日期型********************************
-- 返回当前的日期和时间
SELECT NOW();
-- 返回当前的日期
SELECT CURDATE();
-- 返回当前的时间
SELECT CURTIME();
-- 提取日期部分
SELECT DATE(NOW());
-- 用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
SELECT EXTRACT(WEEK FROM NOW());
-- 给指定日期添加时间,可以选择添加的时间类型
/*
unit类型为:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
*/
SELECT DATE_ADD(NOW(), INTERVAL 2 DAY);
-- 返回两个时间相差的天数
SELECT DATEDIFF(NOW(), "2020/01/01");
-- 给指定日期减少时间
SELECT DATE_SUB(NOW(),INTERVAL 2 MINUTE);
-- 将字符串转换为日期
SELECT STR_TO_DATE("2020/01/01 00:00","%Y/%m/%d %H:%m");
-- 日期转字符串
SELECT DATE_FORMAT(NOW(),"%Y/%m/%d");
#*******************************运算符********************************
-- +
#加号只能进行数值型操作
SELECT 1+2;
#如果其中一方为字符型,试图将其转换为数值型,如果转换成功,则进行加法计算;如果转换失败,则将字符型转为0;如果一方为null,则结果为null。
SELECT "aaa"+11;
SELECT "22"+11;
SELECT "22"+"11";
-- /
SELECT 5/4;
-- mod求余
SELECT MOD(5,4);
-- 绝对值
SELECT ABS(1);
SELECT ABS(-1);
-- 四舍五入
SELECT ROUND(1.6);
SELECT ROUND(1.2);
SELECT ROUND(-1.6);
SELECT ROUND(-1.2);
-- 取比其大的,最接近的整数值
SELECT CEIL(1.2);
SELECT CEIL(-1.2);
SELECT CEIL(-1.6);
-- 取比其小的,最接近的整数值
SELECT FLOOR(1.2);
SELECT FLOOR(1.6);
SELECT FLOOR(-1.2);
SELECT FLOOR(-1.6);
mysql学习(1)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1. 连接数据库 mysql -h localhost -u username -p password 2. 查看...
- 一:通过终端进入数据库模式: 1:没有配置环境变量:进入/usr/local/mysql/目录下,执行:mysql...