记录的详细操作

拷贝表
拷贝结构 与数据
create table copy_table select *from customer ;
仅拷贝结构
create table copy_table select *from customer where 0 > 1;
共同点: 索引 描述(自增) 不能以下语法中

记录的详细操作
[] 表示可选的
{}表示必选的

insert [into] 表名[字段名] value|values(字段值....);
into 可省略
[字段名] 可选
如果写了 你后面的值 必须与 写的字段匹配
不写 后面的值 必须和表的结构完全匹配
value 插入一条记录
values 插入多条记录


update 表名 set 字段名 = 新的值[,字段n = 新值n] [where 条件]
可以同时修改多个字段 用逗号隔开 注意最后一个字段不能加逗号
where 可选
有就 修改满足条件的记录
没有就全部修改


delete from 表名 [where 条件]
where 可选
有就 删除满足条件的记录
没有就全部删除
如果你需要全部删除 请使用truncate table 表名
delete 是逐行比对 删除 效率低
delete删除的行号会保留

查询
完整的查询语句
select [distinct] {* | 字段名 | 聚合函数 | 表达式} from 表名
[where 条件
group by 字段名
having 条件
order by 字段名
limit 显示的条数]
注意: 关键字的顺序必须与上述语法一致


简单查询
1.* 表示所有列 都显示
2.也可以手动指定要显示的列 可以是多个
3.distinct 用于去除重复的记录,只取出完全相同的记录
4.表达式 支持四则运算


执行顺序
def select()
from() 打开文件
where() 读取每一行并判断是否满足条件
group() 对数据进行分组
having() 再分组之后进行过滤 having不单独出现 仅用于分组之后进行过滤
distinct() 去重
order() 用于对筛选后的数据 进行排序
limit() 限制显示的条数
最后根据select后制定的字段来显示数据


where
从硬盘上读取数据时的一个过滤条件
在没有索引的情况下 挨个比较 效率低
where 条件不能用于筛选分组后的数据


group by
作用:给数据分组方便统计

按照某一字段给数据分组select *from 表名 group by 字段名
有两种情况
1.sql_mode中 没有设置 ONLY_FULL_GROUP_BY 显示每个组的第一条记录 没有意义 所以新版中 自ONLY_FULL_GROUP_BY
2.sql_mode中有设置 ONLY_FULL_GROUP_BY 直接报错原因是: * 表示所有字段都要显示 但是 分组后 记录的细节被隐藏 只留下了这意味着:只有出现在group by 后面的字段才能被显示


聚合函数:
将一堆数据经过计算,得到一个数据
sum() 求和
avg() 求平均数
max()/min() 求最大值 / 最小值
count() 个数



having
用于对分组后的数据进行过滤
having不会单独出现 都是和group by 一起出现

与where的区别
相同点: 都用于过滤数据
不同点:
1.where是最先执行 用于读取硬盘数据
having 要等到数据读取完之后 才能进过滤 比where晚执行
2.where中不能使用聚合函数
having中可以



order by [desc,asc]
用于对记录进行 排序
desc为降序
asc为升序


limit
用于限制显示的条数
limit [start,]count
# 看看表里前三条数据
select *from 表名 limit 3;
# 看看表里的3-5条
select * from 表名 limit 2,3;
limit 常用于 数据的分页展示 比如腾讯新闻 的上拉加载新的而一页
select *from emp limit 0,10; 第一页 页数 减1 乘以条数 得到起始位置
select *from emp limit 10,10; 第2页
select *from emp limit 20,10; 第3页


多表查询的方式
1.笛卡尔积查询
用坐标中的一条记录 去链接另一张表的所有记录
就像是把 两张表的数据做了一个乘法
用 where 筛选出正确的数据
select *from emp,dept where emp.dept_id = dept.id;

on关键字
作用 用于多表查询是 进行条件限制

2.内连接查询
inner join
select *from emp inner join dept on emp.dept_id = dept.id;

3.左外连接
left join
左边表中的数据完全显示 右边表中的数据匹配上才显示
select *from emp left join dept on emp.dept_id = dept.id;

4.右外连接
right join
左边表中的数据匹配上才显示 右边表中的数据完全显示
select *from emp right join dept on emp.dept_id = dept.id;

5. 全外链接
full join mysql不支持 oracle支持
可以通过union 间接实现
union 表示合并查询 意思是把多个查询结果合并在一起显示
要求是 被合并的表结构必须相同,默认去除重复
union all合并但是不去除重复

select *from emp right join dept on emp.dept_id = dept.id
union
select *from emp left join dept on emp.dept_id = dept.id;


总结:多表链接 在书写时 按照填空来书写
如果左边要全部显示 用left join
右边全部显示 用right join
全部显示 把左链接的结果和右链接的结果 合并
当然 也可以更多表一起查 但是 没有意义 并且你要尽量避免 太多表 一起查
最多三张 在多对多的时候


子查询
将上一次查询的结果 作为本次查询的原始数据(或是查询条件)

转载于:https://www.cnblogs.com/liangchengyang/p/9648522.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux查看文件有多少行

使用wc命令 具体通过wc --help 可以查看。 如:wc -l filename 就是查看文件里有多少行 wc -w filename 看文件里有多少个word。 wc -L filename 文件里最长的那一行是多少个字。 wc命令 wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 …

java 消息通知_用Java弹出创建新的消息通知

java 消息通知首先创建JFrame作为弹出窗口。 在其中添加一些JLabel以包含信息,并在适当的位置分配它们,使其看起来像一条通知消息。 下面给出了示例代码: String message You got a new notification message. Isnt it awesome to have suc…

vs android 压缩,Android Studio是否压缩classes.dex文件?

看起来输出文件夹中apk文件的classes.dex与已安装的应用程序不同.我正在使用classes.dex文件来解决一些安全问题,所以通常我解压缩最终的apk文件并从classes.dex文件中获取信息.但是当我在运行时读取classes.dex文件时文件大小是如此不同. (8MB vs 46KB)应用程序本身工作得很好…

自己写的py文件中调用django models

import os os.environ[DJANGO_SETTINGS_MODULE] 项目名.settingsimport djangodjango.setup()from blog import modelsentry models.Entry.objects.get(pk1)tech_blog models.Blog.objects.get(name科技)print(entry, tech_blog) 转载于:https://www.cnblogs.com/dangrui072…

shell脚本 -d 是目录文件,那么-e,-f分别是什么?还有! -e这又是什么意思呢?

shell脚本 -d 是目录文件,那么-e,-f分别是什么?还有"! -e"这又是什么意思呢? -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规…

将Java应用程序作为Windows服务安装

这听起来像是您不需要的东西,但是有时候,当您分发最终用户软件时,可能需要将Java程序安装为Windows服务。 我之所以必须这样做,是因为我开发了一种用于公务员的工具 ,可以自动将其Excel文件转换并将其推入我国的openda…

怎样实现banner自动播放html,纯CSS3实现banner图片自动轮播效果方式总结

自动轮播:实现切换图片,图片循环播放;鼠标悬停某张图片, 则暂停切换。css方法一、opacity控制透明度实现轮播效果依照需求咱们选择用CSS3的animation动画进行实现;transition动画须要触发才能启动,html因此…

你好a+b(非入门)

题目传送门&#xff1a;https://www.nowcoder.com/acm/contest/165/A来源&#xff1a;牛客网 牛牛刚学习了输入输出&#xff0c;他遇到了一道这样的题目。 输入2个整数a和b保证输入的a和b在long long范围之内&#xff0c;即满足-9223372036854775808 < a, b < 9223372036…

/etc/sysconfig/i18n文件详解

编辑/etc/sysconfig/i18n这个文件&#xff0c; 不管你装的是中文版,还是英文版.删掉原来的设置,把下面的拷贝过去 LANG"zh_CN.GB18030" SUPPORTED"zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT"latarcyrheb-sun16" 保存,重起.OK了 这时…

201771010112罗松《面向对象程序设计(java)》第三周学习总结

实验三 Java基本程序设计 201771010112 罗松 1、实验目的与要求 &#xff08;1&#xff09;进一步掌握Eclipse集成开发环境下java程序开发基本步骤&#xff1b; &#xff08;2&#xff09;熟悉PTA平台线上测试环境&#xff1b; &#xff08;3&#xff09;掌握Java语言构造基本…

构建openjdk镜像_在Windows上构建OpenJDK

构建openjdk镜像通过做一些实验&#xff0c;我发现手头提供JDK源代码来进行一些更改&#xff0c;使用它等等通常很有用。因此&#xff0c;我决定下载并编译该野兽。 显然&#xff0c;这花了我一些时间&#xff0c;尽管我最初的想法是&#xff0c;它应该和运行make命令一样简单:…

html图像特征提取,图像识别之图像特征提取

图像识别之图像特征提取HOG特征&#xff1a;方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处置中用来停止物体检测的特征描绘子。它经过计算和统计图像部分区域的梯度方向直方图来构成特征。Hog特征分离SVM分类器曾经被普遍应用于图像辨认…

190. 颠倒二进制位

题目 代码 class Solution { public:uint32_t reverseBits(uint32_t n) {n(n>>16)|(n<<16);n((n&0xff00ff00)>>8)|((n&0x00ff00ff)<<8);n((n&0xf0f0f0f0)>>4)|((n&0x0f0f0f0f)<<4);n((n&0xcccccccc)>>2)|((n&am…

Linux--date命令 date命令

Linux--date命令 date命令 date命令的功能是显示和设置系统日期和时间。 该命令的一般格式为&#xff1a; date [选项] 显示时间格式&#xff08;以开头&#xff0c;后面接格式&#xff09; date 设置时间格式 命令中各选项的含义分别为&#xff1a; -d datestr, --date datest…

为某人命名以重新连接到您的服务器

在进行测试自动化时&#xff0c;通常需要知道当前计算机的名称&#xff0c;以提示另一台计算机连接到它&#xff0c;特别是在并行运行测试的情况下。 本周&#xff0c;我试图对服务器进行测试&#xff0c;以使其连接回在从属测试计算机上运行的WireMock服务器。 堆栈溢出的标准…

as转html5工具,将keras的h5模型转换为tensorflow的pb模型

背景&#xff1a;目前keras框架使用简单&#xff0c;很容易上手&#xff0c;深得广大算法工程师的喜爱&#xff0c;但是当部署到客户端时&#xff0c;可能会出现各种各样的bug&#xff0c;甚至不支持使用keras&#xff0c;本文来解决的是将keras的h5模型转换为客户端常用的tens…

暑假第六周

刘思翔来深圳玩&#xff0c;陪玩 转载于:https://www.cnblogs.com/cts1234/p/9664244.html

linux shell数据重定向(输入重定向与输出重定向)详细分析

在了解重定向之前&#xff0c;我们先来看看linux 的文件描述符。 linux文件描述符&#xff1a;可以理解为linux跟踪打开文件&#xff0c;而分配的一个数字&#xff0c;这个数字有点类似c语言操作文件时候的句柄&#xff0c;通过句柄就可以实现文件的读写操作。 用户可以自定义文…

计算机科学技术的教育应用论文,浅谈计算机科学技术在计算机教学中的应用论文...

计算机科学&#xff0c;研究计算机及其周围各种现象和规律的科学&#xff0c;亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科&#xff0c;从抽象的算法分析、形式化语法…

socketserver和socket的补充(验证客户端合法性)

一、socket的补充 1、参数 socket.socket(familyAF_INET,typeSOCK_STREAM,proto0,filenoNone) 参数说明&#xff1a; family 地址系列应为AF_INET(默认值ipv4),AF_INET6(ipv6),AF_UNIX,AF_CAN或AF_RDS。 (AF_UNIX 域实际上是使用本地 socket 文件来通信) type 套接字类型应为…