Java数据库知识点总结(部分,还有很多没整合进去)

上传人:小** 文档编号:44256916 上传时间:2021-12-05 格式:DOC 页数:12 大小:170.50KB
返回 下载 相关 举报
Java数据库知识点总结(部分,还有很多没整合进去)_第1页
第1页 / 共12页
Java数据库知识点总结(部分,还有很多没整合进去)_第2页
第2页 / 共12页
Java数据库知识点总结(部分,还有很多没整合进去)_第3页
第3页 / 共12页
点击查看更多>>
资源描述
s JDBC 中的 PreparedStatement 相比 Statement 的好处答:一个sql命令发给服务器去执行的步骤为:语法检查,语义分析,编译成内部指令,缓存指令,执行指令等过程。select * from student where id =3-缓存-xxxxx 二进制命令select * from student where id =3-直接取-xxxxx 二进制命令select * from stude nt where id =4会怎么干?如果当初是 select * from student where id =? 又会怎么干?1、上面说的是性能提高2、可以防止sql注入。s大数据量下的分页解决方法。答:最好的办法是利用sql语句进行分页,这样每次查询出的结果集中就只包含某页的数据 内容。在sql语句无法实现分页的情况下,可以考虑对大的结果集通过游标定位方式来获取某页的数据。mysql:String sql = select * from stude nts order by id limit + pageSize*(pageNumber-1) + , + pageSize;oracle:String sql =select * from +(select *,row num rid from (select * from stude nts order by postime desc) where rid + pageSize*(pageNumber-1);select*from ( select * from talkorderby id )where rownum = 5 and id not in (select id from (select * from talk orderby id ) where rownum Deptment对象,现在设计时就成了employee deptid)3、表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等4、 看mysql帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句 要比关联查询的效率高:1. select e.n ame,e.salary where e.ma nagerid=(select id from employee where n ame=zxx);2. select e.n ame,e.salary,m. name,m.salary from employees e,employees m wheree.ma nagerid = m.id and m.n ame=zxx:5、将姓名和密码单独从用户表中独立出来。这可以是非常好的一对一的案例哟!6、索引能提高查询的性能0000000000003 数据库三范式是什么?(一共有7个范式)第一范式(1NF ):字段具有原子性,不可再分。比如年龄之类的。如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式第二范式(2NF):如果一个关系满足1NF,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式(2NF)即第二范式要求每个表只描述一件事情。比如订单表中包含订单编号和订单日期,但是如果还包含产品编号和产品价格,就不满足二范式了第三范式(3NF):如果一个关系满足 2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式。简而言之,第三范式(3NF )要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,帖子表中只能出现发帖人的id,而不能既出现发帖人的 id,还出现发帖人姓名,否则,只要出现同一发帖人id的所有记录,它们中的姓名部分都必须严格保持一致,这就是数据冗余。3 Class.forName的作用?为什么要用?答:按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的 Class实例对象,否则,按类加载器的委托机制去搜索和加载该 类,如果所有的类加载器都无法加载到该类,则抛出ClassNotFoundException。加载完这个Class字节码后,接着就可以使用 Class字节码的newInstanee方法去创建该类的实例对象了。 有时候,我们程序中所有使用的具体类名在设计时(即开发时)无法确定,只有程序运行时才能确定,这时候就需要使用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 ,-性别sEbackgroundchar ( 4) DEFAULT 高中CHECK(sEbackground=高中or sEbackground=大专orsEbackground=本科)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 0CHECcomputer=0 and computer= 0 and C=0 and JAVA=0 and SQL= 0 and JSP=0 and project=15 AND stuAge INSERT INTO toys (toyid, toy name, toyprice)VALUES ( toys_seq.NEXTV AL, TWENTY , 25);SQL INSERT INTO toys (toyid, toy name, toyprice)VALUES ( toys_seq.NEXTV AL, MAGIC PENCIL , 75);SQLSELECT toys_seq.CURRV AL FROM dual;使用ALTER SEQUENCE 语句修改序列,不能更改序列的START WITH 参数SQL ALTER SEQUENCE toys_seq MAXV ALUE 5000 CYCLE;使用DROP SEQUENCE语句删除序列SQL DROP SEQUENCE toys_seq;视图当一个查询是多表连接,且该查询使用频繁时,可以考虑创建视图视图以经过定制的方式显示来自一个或多个表的数据视图可以视为“虚拟表”或“存储的查询”创建视图所依据的表称为“基表”视图的优点有:提供了另外一种级别的表安全性隐藏的数据的复杂性简化的用户的SQL命令隔离基表结构的改变通过重命名列,从另一个角度提供数据创建视图的语法:CREATE OR REPLACE FORCE VIEWview_ name (alias, alias.)AS select_stateme ntWITH CHECK OPTIONWITH READ ONL Y;使用WITH CHECK OPTION 选项创建视图CREATE OR REPLACE VIEW pause_view ASSELECT * FROM order_master WHERE ostatus = pWITH CHECK OPTION CONSTRAINT chk_pv;使用ORDER BY子句创建视图CREATE OR REPLACE VIEW ord_ven ASSELECT * FROM v endor_master ORDER BY venname;创建带有错误的视图CREATE FORCE VIEW ven ASSELECT * FROM ven master;在视图上也可以使用修改数据的DML语句,如INSERT、UPDATE和DELETE索引索引的优点:索引是与表相关的一个可选结构用以提高SQL语句执行的性能减少磁盘I/O使用CREATE INDEX 语句创建索引在逻辑上和物理上都独立于表的数据Oracle自动维护索引索引的类型:1标准索引创建:CREATEINDEXitemn dexON itemfile (itemcode)修改:ALTERINDEXitemn dexREBUILD ;删除:DROPINDEXitem_ in dex;2、唯一索引唯一索引确保在定义索引的列中没有重复值Oracle自动在表的主键列上创建唯一索引CREATE UNIQUE INDEXitemn dexON itemfile (itemcode);3、组合索引组合索引是在表的多个列上创建的索引索引中列的顺序是任意的如果SQL语句的 WHERE 子句中引用了组合索引的所有列或大多数列,则可以提高检索 速度Create index article_index on article (aTitle, aCdate);4、反向键索引5、位图索引6、基于函数的索引
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!