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


相关推荐

  • uniqueidentifier类型_unique唯一索引

    uniqueidentifier类型_unique唯一索引INSERT语句:CREATETABLEMyUniqueTable(UniqueColumnUNIQUEIDENTIFIERDEFAULTNEWID(),CharactersVARCHAR(10))GOINSERTINTOMyUniqueTable(Characters)VALUES…

    2025年10月2日
    2
  • [原创]-数据仓库ETL开发

    [原创]-数据仓库ETL开发ETL开发概述ETL是数据仓库的后台,主要包含抽取、清洗、规范化、提交四个步骤,传统数据仓库一般分为四层模型。分层的作用:1.划分ETL阶段工作重心,便于管理2.降低开发和维护成本3.减…

    2022年6月4日
    34
  • 自动编码器(Auto Encoder)

    自动编码器(Auto Encoder)1.初识AutoEncoder1986年Rumelhart提出自动编码器的概念,并将其用于高维复杂数据处理,促进了神经网络的发展。自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如y(i)=x(i)。下图是一个自编码神经网络的示例。自动编码器(autoencoder)是神经网络的一种,该网络可以看作由两部分组成:一个编码器函数h=f(x)和一个生成

    2022年5月1日
    89
  • sublime txt3 激活码【在线注册码/序列号/破解码】

    sublime txt3 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    36
  • sublime 激活码【2021.7最新】

    (sublime 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlTR0LFTT656-eyJsaWN…

    2022年3月22日
    61
  • Jquery tmpl的使用

    Jquery tmpl的使用jquerytmpl简介:动态请求数据更新页面非常常用的方法,例如博客评论的分页动态加载,微博的滚动加载和定时请求加载以及ajax请求返回数据等。这些情况下,动态请求返回的数据一般不是已拼好的html就是JSON或XML,总之不在浏览器端拼接数据就在服务器端拼接数据。浏览器端根据JSON生成HTML有个很苦恼的地方就是,结构不复杂的时候还好,结构一复杂,就需要很小心的写出几乎无法维护的javas…

    2022年6月25日
    59

发表回复

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

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