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,它只需保证存在的值唯一

连接查询

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

内连接

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

外连接

是以一张表为主表,另一张表为匹配表,主表的内容全部显示,然后用匹配表去匹配主表中的内容
在左外连接中,左表为主表,右表为匹配表
在右外连接中,右表为主表,左表为匹配表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值