数据库select语句基础

select 语句

查询所有的内容

bash 复制代码
select * from db02.t1;

列出id,name.english列,并指定显示name=li04的行

bash 复制代码
select id,name,english from db02.t1 where name='li04';

select id as '编号',name as '姓名',english as '英语成绩' from db02.t1 where name='li04';   as别名
+--------+--------+--------------+
| 编号 | 姓名 | 英语成绩 |
+--------+--------+--------------+
|      2 | li04   |           99 |
+--------+--------+--------------+

精确定位 = < >

bash 复制代码
select * from t1 where id<3;   列出1,2行
select * from t1 where id>4;   列出 第5行以上
select * from t1 where id>=4; 列出第4行以上
select * from t1 where id<=2; 列出第1

模糊匹配 like '%' '_'

bash 复制代码
select * from db02.t1 where name like '%l%';   
select * from db02.t1 where name like 'li__';
show variables like '%basedir%';   
show variables like '%socket%'; 

正则表达式

bash 复制代码
select * from db02.t1 where name regexp '^l.*' ;
select * from db02.t1 where name regexp '^li[0-9]{1}';  --1次
select * from db02.t1 where name regexp '^li[0-9]?';    --0次或者1次

select user,host,password from mysql.user where host regexp '\^[0-9].\*[0-9]$';
select user,host,password from mysql.user where host regexp '^l.*';

排序

bash 复制代码
order by asc 升序
order by desc 降序

select * from t1 order by math asc;       
select * from t1 order by english desc;

指定某一列做排序

bash 复制代码
select * from t1 where id order by id asc;   
select * from t1 where english order by english desc;

去除重复行 distinct

bash 复制代码
select distinct id from t1 ;

聚合group by

bash 复制代码
select  * from t1 group by id having id<=2;

合并列: concat

bash 复制代码
select concat(user,'@',host) from mysql.user;  把mysql.user表的user和host列合并
select  concat(path1,'/',homedir)  from t3;  

limit 分页

bash 复制代码
select * from t1 limit 0,1;   显示第一行
select * from t1 limit 1,1;   显示第二行
select * from t1 limit 6,1;   显示第七行

select * from t1 limit 3;  显示前三行

select * from t1 limit 4,3; 显示5,6,7行

select name,english from t1 order by english desc limit 3;   把english排序并显示name,english的前三行

运算

bash 复制代码
select name,sum(english) from t1 ;         计算总和
select name,avg(english) from t1 ;          计算平均数
select name,max(english) from t1 ;          计算最大值
select name,min(english) from t1 ;           计算最小值

select name,(english+math) from t1  order by (english+math) desc limit 1;
select name,(english+math) as sum from t1  order by sum desc limit 1;
select name,english from db02.t1 where english in (select max(english) from db02.t1);
select name,english from db02.t1 order by english desc limit 1;

运算符

    • =

select 1 = 1

返回值为1 --表示为真

select 1 = 2

返回值为0 --表示为假

逻辑

and

or

not and

函数

select password('')

select md5('')

select sha1('')

多表查询

bash 复制代码
select t1.id,t1.name,t2.socre from t1,t2 where t1.id=t2.id;

左连接

bash 复制代码
select * from t1 left outer join t2 on t1.id=t2.id;

右连接

bash 复制代码
select * from t1 right outer join t2 on t1.id=t2.id;

内连接

bash 复制代码
select * from t1 inner join t2 on t1.id=t2.id;

纵向连接

bash 复制代码
select * from t1 inion select * from t2;
bash 复制代码
select current_user()   '当前登录数据库的用户名';
select current_time()   '当前的系统时间';
select current_date()   '当前的日期';
select count(*) from t1;   '显示表中总行数' 
select now()  '时间戳';
相关推荐
Blossom.1182 分钟前
基于区块链技术的供应链溯源系统:重塑信任与透明度
服务器·网络·人工智能·目标检测·机器学习·计算机视觉·区块链
ephemerals__14 分钟前
【Linux】简易版Shell实现(附源码)
linux·运维·chrome
Code哈哈笑36 分钟前
【图书管理系统】用户注册系统实现详解
数据库·spring boot·后端·mybatis
2401_8370885038 分钟前
SQL性能分析
数据库·sql
瓜皮弟子头很铁38 分钟前
多项目共用SQL 添加需要字段
数据库·sql
CryptoRzz1 小时前
股票数据源对接技术指南:印度尼西亚、印度、韩国
数据库·python·金融·数据分析·区块链
烦躁的大鼻嘎1 小时前
【Linux】ELF与动静态库的“暗黑兵法”:程序是如何跑起来的?
linux·运维·服务器·c++·vscode·ubuntu
Pluto_CSND1 小时前
hbase shell的常用命令
大数据·数据库·hbase
API_technology1 小时前
阿里巴巴 1688 数据接口开发指南:构建自动化商品详情采集系统
大数据·运维·数据挖掘·自动化
哈哈真棒1 小时前
sparkSQL读入csv文件写入mysql(2)
数据库·mysql