MySQL 数据查询语句

一般查询

字段取别名

别名不用加单引号,as 可省略。

select t.id   ID,
       t.name 名称
  from grade t;

拼接字符串

concat(a, b)

select concat('姓名:', t.name) 新名字
  from student t;

不能用 ||

字段去重

select distinct t.name
  from student t;

计算(表达式)

select 100 * 3 - 1 计算结果;

查询自增的步长(变量)

select @@AUTO_INCREMENT_INCREMENT 自增步长;

用not实现不等于过滤

select t.id, t.name
  from student t
 where not t.id = 1;

自连接

把一张表拆分成两张表。

select a.categoryName, b.categoryName
  from category a
 inner join category b
    on a.categoryID = b.parentID;

多行合并为一行

group_concat(待合并字段 [separator '分隔符'])

默认以英文逗号分隔。

分页查询

分页公式

limit (curPage - 1) * pageSize, pageSize

curPage 是当前第几页;pageSize 是一页多少条记录。

总页数公式

int totalPageNum = (totalRecord + pageSize - 1) / pageSize;

totalRecord是总记录数;pageSize是一页分多少条记录

查询前 5 条记录

select *
  from category
 limit 0, 5;

为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1

select *
  from category
 limit 5, -1;

如果只给定一个参数,它表示返回最大的记录行数目

select *
  from category
 limit 5;

由此可见,limit n 等价于 limit 0, n

运算函数

绝对值

select abs(-8);

向上取整

select ceiling(9.4);

向下取整

select floor(9.4);

随机数

取 0 - 1 之间的随机数

select rand();

返回数字的符号

0 返回 0,正数返回 1,负数返回 -1。

select sign(-10);

字符串函数

返回字符串长度

select char_length('HaHaHaHa');

拼接字符串

select concat('我', '爱', '你');

插入字符串

待插入字符串, 插入位置, 替换几个字符, 替换的字符串

select insert('我爱你', 3, 1, '超级爱');

字符转小写

select lower('HaHaHaHa');

字符转大写

select upper('HaHaHaHa');

返回第一次出现的子字符串的索引

select instr('HaHaHaHa', 'H');

替换字符串

待替换字符串, 要替换的字符串, 替换的字符串

select replace('我爱你', '爱', '超级爱');

截取字符串

待截取字符串, 截取的位置, 截取的字符数

select substr('HaHaHaHa', 5, 4);
select substring('HaHaHaHa', 5, 4);

反转

select reverse('我爱你');

时间和日期函数

获取当前日期(年-月-日)

select curdate();
select current_date();

获取当前时间(时:分:秒)

select curtime();
select current_time();

获取当前时间(年-月-日 时:分:秒)

select now();

获取当地时间

select localtime();

获取系统时间

select sysdate();

获取年

select year(now());

获取月

select month(now());

获取日

select day(now());

获取时

select hour(now());

获取分

select minute(now());

获取秒

select second(now());

系统函数

数据库版本

select version();

用户

select user();
select system_user();

平均值

select avg(t.categoryID)
  from category t;

加密

select md5(t.pwd)
  from student t;
posted @ 2021-05-31 13:49  天航星  阅读(100)  评论(0编辑  收藏  举报