Mysql中的大部分sql语句与oracle中的大致相同,像增加数据(insert into),删除数据(delete),修改数据(update),唯一需要注意的是,删除数据, 在oracle中我们会用" * "表示全部,而在MySQL当中,则不需要如此,只需要 直接From哪张表即可 语法如:(delete from emp where empno=7788 删除员工,工号是7788的员工);
分页查询:
分页查询相比与oracle 要简单的多,oracle中,分页要先固化rownum,序列,再由序列去筛选出,需要的数据与记录数,这样会镶套几层的select语句;
而MySQL中只需要一段话即可
关键字:LIMIT 只需在WHERE语句之后添加即可 如下例:
SELECT * FROM EMP WHERE empno=7788 LIMIT 3,2; 这就实现了分页查询,在LIMIT后的 "3,2"的意思其实就是,从第三条往后,数两条数据(记录),非常简单,与oracle相比实现分页时候,就不需要再运用书法,去实现分页(oracle12c之后也是支持这样去分页的);
分页的概念:
假分页/逻辑分页/内存分页:
一次性把数据全部查询出来,存放到内存当中,翻页的时候,只需要从内存中去截取指定的条数即可;
优缺点:缺点是:如果数据过多,可能造成内存溢出;优点是:简单,翻页速度比较块(因为是从内存中,直接获取的);
真分页/物理分页/数据库分页:
每次都从数据库中截取指定条数的数据进行实现分页;
优缺点:缺点是太复杂,分页比较慢,优点 是,不会造成内存溢出
分页的基本算法:(起始页的)(pageIndex-1)*pageSize
MySQL的自增:
说到MySQL的自增,就不得不说起来他的约束了,而一般的约束,基本与oracle的约束功能与约束方法,都是一样的,
1.非空约束:NOT NULL 不允许表的列为空值;
2.设置列的默认值:DEFAULT;
上图中NOT NULL也进行了演示;
3.唯一约束:UNIQUE,在该表中,该列的内容必须为唯一;(与主键不同)
4.主键约束:PRIMARY KEY,非空并且唯一;(比如两个员工,名字相同,但是工号必须不同);
主键设置自增:AUTO_INCREMENT,从1开始,步长为1;
下图为使用工具,增加自增约束;
语法的使用,与其相同,只是将主键 PRIMARY KEY 后加入 AUTO_INCREMENT 语句即可;
上图中的代理主键的意思就是指的,平常开发中,此列为什么为主键的意思,比如之前我有叙述过的,员工特别多的情况下,可能名字相同,但是工号,肯定是不能相同的;