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


相关推荐

  • C语言—冒泡排序

    C语言—冒泡排序C语言排序算法-冒泡排序从键盘输入的10个整数按从小到大的顺序排序后输出#include<stdio.h> voidmain(){ intn[10]={25,35,68,79,21,13,98,7,16,62};//定义一个大小为10的数组 inti,j,temp; for(i=1;i<=9;i++)//外层循环是比较的轮数,数组内有10个数,那么就应该比较10-1=9轮 { for(j=0;j<=9-i;j++)

    2022年6月25日
    26
  • js单项选择答题_完成窗口切换的方法

    js单项选择答题_完成窗口切换的方法业务背景:系统有一个数据列表,其中的每行数据都可以进行详细信息修改配置。为了提升用户体验,需要在用户触发单条任务记录详细配置界面之后添加进入上一题和下一题的操作。实现构思: 有两种办法:第一种简单点的话就是不去数据库实时查询数据,利用已经在列表中的数据信息进行数据切换展示与修改。 第二种办法稍微麻烦一点,数据切换的时候实时rownum去数据库查询定位当前数据行的index,然后切换…

    2022年4月19日
    46
  • python 获取图片分辨率_python读取图片分辨率

    python 获取图片分辨率_python读取图片分辨率使用python获取图片分辨率或大小fromPILimportImagefilename=r’E:\data\yangben\0.jpg’img=Image.open(filename)imgSize=img.size#图片的长和宽print(imgSize)maxSize=max(imgSize)#图片的长边minSize=min(imgSize)#图片的短边print(maxSize,minSize)太慢用清华园python3的话使用

    2022年9月12日
    1
  • echarts标题字体大小_echarts饼图显示百分比

    echarts标题字体大小_echarts饼图显示百分比解决echarts饼图显示百分比,和显示内容字体及大小//基于准备好的dom,初始化echarts实例    varpieEchart=echarts.init(document.getElementById(‘pieEchart’));     //指定图表的配置项和数据     varpieoption={       ti…

    2022年4月20日
    80
  • EJB学习

    EJB学习EJB:企业级JavaBean(EnterpriseJavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。EJB主要有三种Bean:SessionBeans:&

    2022年7月2日
    25
  • 19年对口计算机一分一档,2019年河北省单招各考试类一分一档表

    19年对口计算机一分一档,2019年河北省单招各考试类一分一档表原标题:2019年河北省单招各考试类一分一档表2019年河北省单招各考试类一分一档表2019年河北省高职单招考试二类一分一档表http://www.hbdzxx.com/news/2019/4885.html2019年河北省高职单招考试七类和对口医学类一分一档表http://www.hbdzxx.com/news/2019/4887.html2019年河北省高职单招考试九类和对口财经类一分一档表h…

    2022年7月13日
    15

发表回复

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

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