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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 逆向工程入门「建议收藏」

    逆向工程入门「建议收藏」本问只是为初入逆向工程大坑的新人们指出方向学习,没有实质性的技术。总的来说,基础才是最重要的。逆向工程入门应该算是所有学习方向中最难的。但是选择了这一方向的请不要放弃,一旦学成,必定会是大神级别的存在。那么,逆向工程的入门需要学习什么?1.c语言学习c语言是逆向工程的基础。如果是学习渗透方向的,也许可以选择python作为自己的第一门编程语言。但是作为逆向工程方向,第一门入门的语言没有选择,只有

    2022年6月19日
    64
  • 共享计算机没有响应,网络共享打印机出现联机无反应的处理方法

    共享计算机没有响应,网络共享打印机出现联机无反应的处理方法网络共享打印机出现联机无反应、打印乱码及无法连接共享打印机的故障处理方法1、共享打印出现乱码倘若从局域网中某一台工作站中执行共享打印操作时,网络打印机能够正常工作;而从另外一台工作站中执行共享打印操作时,网络打印机打印出来的内容全部是乱码,遇到这种故障时你该如何快速排除呢?从上面的故障现象来看,大家可以知道共享打印机在硬件方面以及网络连接方面都应该是正常的,毕竟有计算机能够通过网络正常进行打印材料…

    2022年6月5日
    146
  • lede旁路由设置方法

    lede旁路由设置方法lede固件号:2.361.把网络–>接口里面wan口删除2.推荐新建lan口,把原来的lan停用3.新lan口配置:静态地址ipv4地址:主路由地址ipv4子网掩码:255.255.255.0ipv4网关:主路由地址使用自定义的DNS服务器:主路由地址关闭DHCP如果出现访问国内网站巨慢,慢到离谱那种请在旁路由执行以下代码iptables-tnat-IPOSTROUTING-jMASQUERADE并在网络—>防火墙中勾选丢弃无用数据包…

    2022年6月11日
    41
  • 解决eclipse代码自动补全功能默认给变量名添加一些后缀的问题,比如String类型变量名默认添加String后缀

    解决eclipse代码自动补全功能默认给变量名添加一些后缀的问题,比如String类型变量名默认添加String后缀eclipse关闭String变量名添加String后缀问题1.问题2.解决方案1.问题1.问题说明和图示:设置了代码自动补全功能之后,每次新建String类型的变量,输入==空格、;==的时候都会给变量名补上一个String后缀,太多余。2.以下是设置代码自动补全图解1.通过Window》Preferences,进入偏好设置。2.先复制以下代码块中的内容。通过搜索ContentAssist(不分大小写)关键字,找到对应选项,填入.后面保存即可生效。_abcdefghijklmnopq

    2022年5月31日
    33
  • css3 画半圆和1/4圆

    css3 画半圆和1/4圆

    2021年9月13日
    65
  • mysql如何进行分区_mysql如何进行分区_mysql分区有哪些方法「建议收藏」

    mysql如何进行分区_mysql如何进行分区_mysql分区有哪些方法「建议收藏」MySQL可应用于多种语言,包括PERL,C,C++,JAVA和PHP。在这些语言中,MySQL在PHP的web开发中是应用最广泛。大家知道mysql如何分区的吗?下面由学习啦小编为大家整理的mysql分区的方法,希望大家喜欢!mysql分区的方法一、概述当MySQL的总记录数超过了100万后,会出现性能的大幅度下降吗?答案是肯定的,但是,性能下降>的比率不一而同…

    2022年5月31日
    38

发表回复

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

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