SQL的区别及注意事项

SQL的区别及注意事项

数据库

db 数据库
dba 数据库工程师
存放数据的仓库

分类

对象关系型数据库,将数据(表)以文件方式存储在磁盘上,mysql,oracle,sqlserver
非关系型数据库,也叫nosql,以键值对的形式去存放数据,将数据存储在内存中,redis

mysql和oracle

1.mysql是开源(免费),oracle是收费的
2.mysql没有表空间概念,但是oracle有多个表空间,可以支持分区
3.语句上有稍微的区别
4.orecle中没有专门用来表示整数和小数的数据类型
5.mysql分页是使用limit关键字,oracle使用rowNum这个伪列
6.mysql可以使用auto_incrument对主键实现自增长,而oracle使用的是序列来生成,而且也不叫自增长
7.mysql不支持检查约束

sql

是一种脚本语言,不需要编译,由maysql直接解释运行,通过该语言,可以直接操控mysql

DDL

使用create,alter,drop这样的关键字来操控我们的数据库对象:数据库,表,列

DML

对表中的数据进行增删改
insert,delete,update

注意

1.使用insert语句插入时,必须保证要插的字段类型、数量要和插入的值保持一致
2.delete和drop的区别,delete删除的是数据,不是文件,drop删除整个文件

DQL

数据库执行 DQL 语句不会对数据进行改变,而是让数据库发送结果集给客户端。
查询返回的结果集是一张虚拟表。

结果集

select到from中间的内容就是结果集,是一张虚拟表

注意

如何优化查询速度
1.不要用*
2.不要in语句和not in语句

DQL的顺序

书写顺序:select * from tableName where 条件 group by 分组字段 Having 分组条件 order by 排序规则 limit 分页

limit方言的查询公式

当前页 pageIndex
页面大小 pageSize
LIMIT (pageIndex-1)*pageSize,pageSize

如何确保数据的完整性

注意

主键约束不能为空,且唯一
唯一约束可以为多个null,它只需保证存在的值唯一

连接查询

合并结果集:需要保证结果集字段一样
内连接
外连接
    左外连接
    右外连接

内连接

内连接是用来把满足某一个条件两个结果集合并起来,并一一对应,
此时两张表中任意一张表中的关联字段在例外一张表关联字段中不存在,
那么该数据则不会显示

外连接

是以一张表为主表,另一张表为匹配表,主表的内容全部显示,然后用匹配表去匹配主表中的内容
在左外连接中,左表为主表,右表为匹配表
在右外连接中,右表为主表,左表为匹配表
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106720.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 12年3D建模师的感悟—写给还在迷茫中的朋友

    12年3D建模师的感悟—写给还在迷茫中的朋友不知不觉,从事3d行业已经12年了。今天想把这么久以来积攒的3D建模的学习经验彻底讲一下,希望能对你有所帮助。1.什么人适合学习3D建模?这个问题我曾经回答过,目前来看,闲来无事的大学生,目前做着和3D建模有关工作的人,比如雕刻家,和30岁以下想要转行的人都是适合的。至于其他人群,我是不推荐的,比如高中生之类的,或者年纪太大的。前者推荐上个大学,后者推荐找个轻松一点的工作。2.3D建模的职业规划怎么样?如果是大学生可能要好一点,有机会进大厂,如果是半路出家,可能游戏外包工作室就是归宿。当然也不

    2022年5月12日
    54
  • 如何给Python安装.whl文件

    如何给Python安装.whl文件安装whl文件也是迫不得已的最后选择,因为有些包其他指令没成功,如果安装了anaconda会方便很多,详见另一篇https://blog.csdn.net/weixin_41592575/article/details/893722971.先弄清楚自己的Python是什么版本的,以方便后续下载合适的.whl文件。win+R进入命令运行窗口,输入cmd打开命令提示符,接着输入python即可…

    2022年5月7日
    39
  • java代码大全及详解_Java练级攻略[通俗易懂]

    java代码大全及详解_Java练级攻略[通俗易懂]Java作为一门使用范围巨大的语言,几乎所有的大型互联网或者分布式架构设计都采用Java相关的技术栈,这也是越来越多的人投入到Java的怀抱中,那Java练级应该怎样做起呢?首先给出几点学习建议:一定要有长时间学习,甚至终生学习的态度;一定要动手实操,无论实例多么简单,建议动手操作一遍;一定要学会思考,思考为什么要这样,而不是那样;不要乱买书,基础的知识是经过很长时间积累的;回顾一下技术的发展,你…

    2022年7月7日
    33
  • 有限覆盖定理证明闭区间套定理_二维有限覆盖定理

    有限覆盖定理证明闭区间套定理_二维有限覆盖定理1.9上确界和下确界证明:03:00定理有上界的非空集合必有上确界有下界的非空集合必有下确界第二种方式16m-Sup(-E)=imfE或Sup(-E)=-imfE如果E没有上界,就说E趋于+无穷如果E没有下界,就说E趋于负无穷p.41(3)24m第十节,有限覆盖定理一族开区间32mHeime-Borel定理练习Bolzano-Weieristra…

    2025年6月11日
    2
  • 关于java代码生成器

    关于java代码生成器讲代码生成器之前先要说说模板,什么叫模板呢,举个例子吧,汇款单都见过吧,你不填写的那些内容都属于模板范畴说到这应该明白了吧,模板就是把共性提取出来反复使用,节约时间、工作量。。。。。那跟代码生成器有什么关系呢,思考一下在编程语言中所有的语言是不是都用共性或者说规范,这些都是固定不变的,在具体点,软件行业也是分主营业务的,比如OA、CRM、ERP、SCM等等,那么各个业务方向的软件

    2022年5月1日
    35
  • AnyCast技术浅析

    AnyCast技术浅析一常见通信方式1.1UniCastAnyCast1.2MultiCast1.3BroadCast二什么是BGPAnyCast三AnyCast技术特点四AnyCast应用场景4.1场景一:基于IPAnycast+BGP的DNS部署4.2场景二:防范DDOS攻击4.3场景三:大型企业CDN部署4.4场景四:时延敏感度高的内容服务业务五AnyCast总结5.1优点5.2缺点一常见通信方式1.1Un…

    2022年5月24日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号