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.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性. 外键:是另一表的唯一性 ...
随机推荐
- node启动时候报错 Error: Cannot find module 'express'
cmd命令 到目录下,然后运行 npm install -d 再 node hello.js
- 1050. 螺旋矩阵(25) pat乙级题
本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m- ...
- Python需要知道的知识点
1.所有数据类型都自带布尔值,布尔值为假的数据类型 包括( 空字符串,空列表,空字典,空集合).数字(0).None类型 2.Python实现int的时候有个小整数池.为了避免因创建相同的值而重复申请 ...
- USB gadget 驱动 printer.c 分析
1. modprobe g_printer idVendor=0x0525 idProduct=0xa4a8 modprobe后面也可以加模块参数 2. prn_example从stdout获取数据然 ...
- Javascript 正则验证带 + 号的邮箱地址
很多邮箱地址是可以加上 + 加号为同一个邮箱地址. 比如 Gmail. 如果需要验证带 + 号的邮箱,如下: str = "65485+55@gmail.com"; documen ...
- 【转】每天一个linux命令(24):Linux文件类型与扩展名
原文网址:http://www.cnblogs.com/peida/archive/2012/11/22/2781912.html Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概 ...
- jquery select radio
Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为S ...
- C# 解析 json Newtonsoft果然强大,代码写的真好
C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的 ...
- Bootstrap:教程、简介、环境安装
ylbtech-Bootstrap:教程.简介.环境安装 1. Bootstrap 教程返回顶部 1. Bootstrap 教程 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.B ...
- js轮播插件
// Tween算法 var Tween = { // t:当前步数 // b:初始位置 // c:总距离 // d:总步数 // Linear:匀速 Linear: function(t,b,c,d ...