游标是存储在数据库服务器上的一个数据库查询,它不是一条select语句,他是一个结果集,有了游标就可以根据需要滚动浏览器数据 了
for update 是将数据库表的数据进行锁定的操作,不让其他的事务可以修改。早Oracle中的这种锁定是对查询结果数据及进行加锁,其他数据不会被加锁,方式叫行级锁
行级锁:数据库表中的数据进行锁定的操作,不让其他事务可以修改,在Oracle中的这种锁定是对查询的结果数据进行加锁,其他的数据不会被加锁。
三范式总结:第一范式:有主键,具有原子性,字段不可分割
第二范式:完全依赖,没有部分依赖
第三范式:没有传递依赖
数据库设计近两个遵循三范式,但是还是根据实际情况进行取舍,有时可萌会拿冗余换速度,最终目的是要满足可需求:我们有时候采用select会返回一个结果集,使用简单的select无法得到上一行,下一行,后5行,后10行,就使用游标
游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。
概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。游标提供了在逐行的基础上操作表中数据的方法。
游标的一个常见用途就是保存查询结果,以便以后使用。游标的结果集是由SELECT语句产生,如果处理过程需要重复使用一个记录集,那么创建一次游标而重复使用若干次,比重复查询数据库要快的多。
大部分程序数据设计语言都能使用游标来检索SQL数据库中的数据,在程序中嵌入游标和在程序中嵌入SQL语句相同