1、大小写
select upper(‘’) , lower(‘’);
2、字符和字节
select length(‘’), char_length(‘’);
3、数据库密码方法
select hex(‘’);
select md5(‘123123’);
后面数字用.来拼接
select concat_ws(‘.’,‘1’,‘2’,‘3’)
结果:1.2.3
4、随机字符串产生
select repeat(‘a’, floor(1+rand()*127));
5、填充函数
1、左填充
select lpad(‘aaa’, 8, ‘.’);
结果:…aaa;
2、右填充
select rpad(‘aaa’, 8, ‘.’);
结果:aaa…;
6、日期秒数的转换
将当前时间转换成秒数
select unix_timestamp(now());
将秒数转换成时间
select * from from_unixtime(login_time);
7、数据库now() 和 sysdate() 区别
select now(), sysdate(), sleep(3), now(), sysdate();
结果:2017-03-04 12:52:21,2017-03-04 12:52:21,0,2017-03-04 12:52:21,2017-03-04 12:52:24
所以now()是执行sql的当前时间,而sysdate()是执行到sysdate方法的时间。
8、设置时区
北京 set time_zone = ‘+8:00’;
9、数据库时间加减法
加法减法相反
select date_add(now(), interval 1 day);
select date_add(now(), interval 1 hour);
select date_add(now(), interval 1 minute);
10、时间格式化
select date_format(now(), ‘%Y%m%d’);
select date_format(now(), ‘%Y-%m-%d’);
注意不要将date_format()作为筛选条件,尤其是放到左边,这样会用不到索引
11、mysql数据库JSON类型的字段类型 (json数据类型仅限于mysql5.7之后)
create table user_json (id int, data json());
insert into user_json (id, data) values (null , ‘{“name”:“Jim”,“passport”:“E0123123123”}’);
如何取出json字段中的单字段数据
select id, json_extract(data, ‘
.
n
a
m
e
′
)
f
r
o
m
u
s
e
r
j
s
o
n
;
结果:
1
,
"
J
i
m
"
(
默认是加双引号的
)
;有一个
j
s
o
n
方法是去掉双引号
s
e
l
e
c
t
i
d
,
j
s
o
n
u
n
q
u
o
t
e
(
j
s
o
n
e
x
t
r
a
c
t
(
d
a
t
a
,
′
.name') from user_json; 结果:1,"Jim" (默认是加双引号的); 有一个json方法是去掉双引号 select id, json_unquote(json_extract(data, '
.name′)fromuserjson;结果:1,"Jim"(默认是加双引号的);有一个json方法是去掉双引号selectid,jsonunquote(jsonextract(data,′.name’)) from user_json;
结果:1,Jim ;
另外一种写法 (注意:一个>是加双引号,两个>>就是不加双引号)
select id, data->“
.
n
a
m
e
"
f
r
o
m
u
s
e
r
j
s
o
n
;
结果
1
:
1
,
"
J
i
m
"
;
s
e
l
e
c
t
i
d
,
d
a
t
a
−
>
>
"
.name" from user_json; 结果1:1,"Jim"; select id, data->>"
.name"fromuserjson;结果1:1,"Jim";selectid,data−>>".name” from user_json;
结果2:1,Jim ;
mysql常用方法说明和使用
于 2022-07-18 22:44:48 首次发布