Mysql-两表的连接,copy表,select的各种用法
-- 连接:外连接,内连接 两个表之间
外连接:right join left join
-- left join 左标为主 一般以值少的为主
select * from table1 left join table2 on table1.id = table2.id; -- right join 右标为主 一般以值少的为主
select * from table1 right join table2 on table1.id = table2.id;
内连接:join
-- join 不给条件 相当于select * from table1,table2; 会产生笛卡儿积
select * from table1 join table2 ; -- join on +条件 一对一
select * from table1 join table2 on table1.id=table2.id;
Copy表
-- 建新表是copy旧表数据
-- 复制所有
create table new select * from old;
-- 将旧表的某些字段导入另一张表
insert into new(字段1,2,3...) select 字段1,2,3... from old
分组:group by
-- 创建一个测试表
create table test(
id int primary key auto_increment,
name varchar(15),
age int
);
insert into test(name,age) values('tj',18),('th',15),('tr',10); --条件 查询
-- select * from test;
select * from test where age >12 && name = 'tj';
select * from test where age >12 || name = 'tj'; -- 取别名
select name as '名字',age as '年龄' from test; -- 取别名关键字as 可不写 --查询行数
-- limit
select * from test limit 2; -- 当id 有自增长auto_increment,比如id 默认值到了5,删除了这五条数据,插入吓一跳数据id值默认+1成了6
-- truncate 可初始化自增长id 为1. -- 分组 group by
-- 几个字节对应几个分组字节
select 字节1,字节2 from table group by 字节1,字节2.
insert into test(name,age) values('tj1',18),('th1',15),('tr1',10);
select age from test group by age;
-- 分组+ 统计次数,最大值,最小值,和,平均值
select age,count(*),max(age),min(age),sum(age),avg(age) from test
group by age;
-- having +条件
select age,count(*),max(age),min(age),sum(age),avg(age) from test
group by age having count(*)>=2; -- order by 排序
select * from test order by age; -- 默认asc 升序
select * from test order by age asc; --等同上
select * from test order by age desc; -- 降序
Mysql-两表的连接,copy表,select的各种用法的更多相关文章
- 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案(转)
问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...
- php+mysql两次左外联跨表查询
代码如下: $querySel="select * from roomsy rsy left join room ro on rsy.RoomID=ro.ID left join hotel ...
- 转载:记录一次MySQL两千万数据的大表优化解决过程
地址:https://database.51cto.com/art/201902/592522.htm 虽然是广告文,但整体可读性尚可.
- 从多表连接后的select count(*)看待SQL优化
从多表连接后的select count(*)看待SQL优化 一朋友问我,以下这SQL能直接改写成select count(*) from a吗? SELECT COUNT(*) FROM a LEFT ...
- mysql中的内连接,外连接实例详解
内连接: 只连接匹配的行左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边 ...
- mysql 连接命令 表管理 ,克隆表,临时表,字符串属性,设定语句间的分隔符
连接和断开连接mysql -h host -u user -p (即,连接的主机.用户名和使用的密码).断开输入QUIT (或\q)随时退出: 表管理克隆表注意:create table ... li ...
- MySQL(九)之数据表的查询详解(SELECT语法)二
上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1 ...
- mysql开启远程登陆(修改数据表和授权两种方法)
一.确认防火墙没有阻止3306端口(一般服务器默认会屏蔽掉) windows防火墙例外设置方法 控制面板(右上角选择查看方式为大图标)---防火墙---高级设置---高级设置---出站规则---最右边 ...
- MySQL 约束、表连接、表关联、索引
一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性. 外键:是另一表的唯一性 ...
随机推荐
- 使用Inno Setup Compiler制作安装软件包
前言 项目开发完成之后,需要程序打包发行,本文使用Inno Setup工具制作安装软件包. 系统环境 系统:win7_x64 工具:Inno Setup Complier 实现步骤 1.下载安装Inn ...
- touch事件(寻找触摸点 e.changedTouches)
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- MVC的好处 演示
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- hdu2073-2078
hdu2073 数学 #include<stdio.h> #include<math.h> double len(double x){ )*(x+)); } int main( ...
- FastAdmin 系统配置中添加选项卡
群里有小伙伴问怎么在系统配置中添加选卡,之前试过. 流程如下 刷新页面,然后就有了.
- js 坐标兼容性
不同浏览器对坐标属性的支持:
- 安装EKL
elasticsearch rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch /etc/yum.repos.d/ela ...
- 回归cnBlogs
一.最近的想法 最近几天看了好多IT和非IT朋友的技术博客和自媒体博客,本想自己搭建一个独立博客,查了好多资料,各种方法,比如:goDaddy购买域名,利用GitHub免费空间搭博客. ...
- 大快搜索DKhadoop集群管理平台添加节点的步骤说明
Hadoop作为搭建大数据处理平台的重要“基石”,关于它的分析和讲解的文章已经有很多了.Hadoop本身是一分布式的系统,因此在安装的时候,需要多每一个节点进行组建的安装.并且由于是开源软件,其安装过 ...
- 【数据库】mysql的安装
打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面 mysql安装向导启动,按“Next”继续 选择安装类型,有“Typic ...