资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
8 JDBC 中的 PreparedStatement 相比 Statement 的好处答:一个sql命令发给服务器去执行的步骤为:语法检查,语义分析,编译成内部指令,缓 存指令,执行指令等过程。select * from student where id =3缓存-3xxxxx 二进制命令select * from student where id =3直接取-3xxxxx 二进制命令select * from student where id =4 3会怎么干?如果当初是select * from student where id =?3又会怎么干?1、上面说的是性能提高2、可以防止sql注入。8大数据量下的分页解决方法。答:最好的办法是利用sql语句进行分页,这样每次查询出的结果集中就只包含某页的数据 内容。在sql语句无法实现分页的情况下,可以考虑对大的结果集通过游标定位方式来获取 某页的数据。mysql:String sql = select * from students order by id limit + pageSize*(pageNumber-1) + , + pageSize;oracle:String sql =select * from +(select *,rownum rid from (select * from students order by postime desc) where rid + pageSize*(pageNumber-1);select * from (select * from talk order by id) where rownum = 5 and id not in (select id from (select * from talk order by id) where rownum Deptment对象,现在设计时就成了 employeedeptid)3、表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等4、看mysql帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句 要比关联查询的效率高:1. select e.name,e.salary where e.managerid=(select id from employee where name=zxx);2. select e.name,e.salary,m.name,m.salary from employees e,employees m where e.managerid = m.id and m.name=zxx;5、将姓名和密码单独从用户表中独立出来。这可以是非常好的一对一的案例哟!6、索引能提高查询的性能古数据库三范式是什么?(一共有7个范式)第一范式(1NF):字段具有原子性,不可再分。比如年龄之类的。如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式第二范式(2NF):如果一个关系满足1NF,并且除了主键以外的其他列,都依赖与该主键,则满足第二范 式(2NF)即第二范式要求每个表只描述一件事情。比如订单表中包含订单编号和订单日期,但是如果还包含产品编号和产品价格,就不满足二范式了第三范式(3NF):如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第 三范式。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。 例如,帖子表中只能出现发帖人的id,而不能既出现发帖人的id,还出现发帖人姓名,否则,只要出现同 一发帖人id的所有记录,它们中的姓名部分都必须严格保持一致,这就是数据冗余。古Class.forName的作用?为什么要用?答:按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载 过,则返回代表该字节码的Class实例对象,否则,按类加载器的委托机制去搜索和加载该 类,如果所有的类加载器都无法加载到该类,则抛出ClassNotFoundException。加载完这个 Class字节码后,接着就可以使用Class字节码的newInstance方法去创建该类的实例对象了。 有时候,我们程序中所有使用的具体类名在设计时(即开发时)无法确定,只有程序运行时 才能确定,这时候就需要使用Class.forName去动态加载该类,这个类名通常是在配置文件 中配置的,例如,spring的ioc中每次依赖注入的具体类就是这样配置的,jdbc的驱动类名 通常也是通过配置文件来配置的,以便在产品交付使用后不用修改源程序就可以更换驱动类 名。创建一个名称为wx的用户,其密码为wx123CREATE USER wxIDENTIFIED BY wx123DEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP;GRANT命令可用于为用户分配权限或角色CONNECT角色允许用户连接至数据库,并创建数据库对象GRANT CONNECT TO wx;RESOURCE角色允许用户使用数据库中的存储空间GRANT RESOURCE TO wx;此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中9GRANT CREATE SEQUENCE TO wx;授予用户MARTIN操作TEST表对象的权限允许用户查询TEST表的记录GRANT SELECT ON TEST TO MARTIN;允许用户更新TEST表中的记录GRANT UPDATE ON TEST TO MARTIN;允许用户插入、删除、更新和查询TEST表中的记录GRANT ALL ON TEST TO MARTIN;ALTER USER命令可用于更改口令修改MARTIN用户的密码ALTER USER wx IDENTIFIED BY PWDOFWX;DROP USER命令用于删除用户删除MARTIN用户模式DROP USER wx CASCADE;示例:#把CONNECT、RESOURCE角色授予用户 epetGRANT CONNECT,RESOURCE TO epet;#撤销用户epet的RESOURCE角色 REVOKE RESOURCE FROM epet;#允许用户查看EMP表中的记录 GRANT SELECT ON emp TO epet;#允许用户更新EMP表中的记录GRANT UPDATE ON emp TO epet;Char固定长度的非Unicode字符数据 Varchar/varchar2 可变长度非 Unicode 数据CREATE TABLE stuInfo ( sid char (13) NOT NULL , 学号 sName varchar (8 ) NOT NULL, 姓名 sSex char (2) NULL , 性另0 sEbackground char(4) DEFAULT 高中CHECEbackground=高中or sEbackground=大专 obackground=本科)NULL , 学历sAddress varchar (50) NULL,地址constraint PK_sid primary key (sid) )CREATE TABLE stuMarks(smid int NOT NULL, 编号sid CHAR(13) NOT NULL, 学号computer decimal(4,2) DEFAULT 0CHECK(computer=0 and computer=0 and C=0 and JAVA=0 and SQL=0 and JSP=0 and project= 15 AND stuAg
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号