随笔分类 - 22数据库
各数据库的连接URL和驱动器
摘要:1、oracle URL-----jdbc:oracle:thin:@localhost:1521:test Driver Class-----oracle.jdbc.driver.OracleDriver2、
阅读全文
SQL中EXISTS的用法
摘要:指定一个子查询,检测行的存在。(对于select得到的每一行,如果它的数据能满足子条件的查询,使得子查询返回至少一行,则返回改行)语法:EXISTSsubquery是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。有关更多信息,请参见SELECT中有关子查询的讨论。结果类型:Boolean结果值:如果子查询包含行,则返回 TRUE。A. 在子查询中使用 NULL 仍然返回结果集这个例子在子查询中指定 NULL,并返回结果集,通过使用 EXISTS 仍取值为 TRUE。USE Northwind
GO
SELECT CategoryName
FROM Ca
阅读全文
sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
摘要:1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。3、TEXT。text存储可变
阅读全文
left join on and 与 left join on where的区别
摘要:数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。 假设有两张表:表1 tab1:id size1 102 203 30表2 tab2:size name10 AAA20 BBB20 CCC两条SQL:1、select * formtab1
阅读全文
sqlite的系统表sqlite_master
摘要:SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查询以获得所有表的索引。每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 它定义数据库的模式。 SQLITE_MASTER 表看起来如下:CREATE TABLE sqlite_master (type TEXT,name TEXT,tbl_name TEXT,rootpage INTEGER,sql TEXT);对于表来说,type 字段永远是 ‘table’,name 字段永远是表的名字。所以,要获得数据库中所有表的列表, 使用下列SELECT语句:SELECT name FRO
阅读全文
prepareCall方法执行存储过程
摘要:原文地址:http://hi.baidu.com/lookxj527/blog/item/82e2d4cbaa5ee041f21fe7d4.htmlCallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(IN 参数)、输出(OUT 参数)或输入和输出(INOUT 参数)的参数。
阅读全文
中文乱码的处理
摘要:如果显示页面的编码与数据库字符编码不一致时:方法1:url="jdbc:mysql://localhost:3306/yuan?useUnicode=true&characterEncoding=UTF-8"中的编码要与页面的编码一致.(page language="java" contentType="text/html; charset=UTF-8")方法2:使用代码修改编码:new String(username.getBytes("ISO-8859-1"),"UTF-8"
阅读全文
各驱动器和URL
摘要:jdbcodbcDriver: sun.jdbc.odbc.JdbcOdbcDriverURL:jdbc:odbc:datasourceSQLServerDriver: com.microsoft.jdbc.sqlserver.SQLServerDriver URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testOracleDriver: oracle.jdbc.driver.OracleDriver URL:jdbc:oracle:thin:@localhost:1521:sidMySQLDriver: com.mysq
阅读全文
事务处理
摘要:一项事务指:一条或多条操纵数据库的SQL语句所组成的一个不可分割的工作单元。不可分割即只有事务中的所有操作都完成了,整个事务才会提交到数据库;若有一项没完成,则撤销事务。也就是多个SQL语句需都能成功的完成时,才提交,否则不提交。 Connection提供了3个控制事务的方法:setAoutoCommit(boolean)设置是否自动提交事务,若为true则每条SQL语句带表一个事务,成功则提交,失败则滚回;commit()提交事务;rollbac()撤销事务。
阅读全文
Servlet容器中的数据源
摘要:Servlet容器对它提供的数据源javax.sql.DataSource对象使用了JNDI技术绑定了一个name值。 servlet容器中的JNDI:在javax.naming包中提供了Context接口,它有bind(String name,Object object)和lookup(String name)两个方法来绑定和获得对象。servlet容器把DataSource作为一种资源来处理,生成DataSource的工厂为org.apache.commons.dbcp.BasicDataSourceFactory. 知道了servlet容器怎么提供数据源对象后,要如何使用?? 1.首先.
阅读全文
浙公网安备 33010602011771号