SQL
云涛连雾
GitHub:https://github.com/Jueee
展开
-
【SQL】查询语句中in和exists的区别
in和exists区别in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。NOT EXISTS,exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度。原创 2013-07-31 22:01:44 · 3705 阅读 · 0 评论 -
【SQL】数据库操作组件Common Dbutils的详解
Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。DBUtils包括3个包org.apache.commons.dbutils org.apache.commons.dbutils.handlers org.apache.commons.dbutils.wrappersDBUtils封装了对JDBC的操作,简化了JDB转载 2013-09-07 23:43:14 · 2144 阅读 · 0 评论 -
【SQL】JDBC之运用dbutils组件实现对数据库的增删改查等操作
实例化查询接口 QueryRunner qr = new QueryRunner();//实例化查询接口添加 /** 添加电影 */ public int insert(Movie movie) { Object[] params = {movie.getName(), movie.getType(), movie.getCountry(), movie.getYea原创 2013-09-14 00:52:53 · 2072 阅读 · 0 评论 -
【SQL】JDBC之与数据库MySQL的连接以及增删改查等操作
必须的准备工作一、MySQL的安装。可以参考博文:http://blog.csdn.net/jueblog/article/details/9499245二、下载 jdbc 驱动。可以从在官网上下载,或者点击 http://download.csdn.net/detail/oyuntaolianwu/5822697 下载三、在 Eclipse 的 Java 工程中新建一个 lib 文件原创 2013-07-27 01:32:23 · 7389 阅读 · 1 评论 -
【SQL】JDBC之PreparedStatement类中“预编译”的综合应用
预编译SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。预编译的优点1、PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程。2、使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象原创 2013-07-29 21:34:26 · 4028 阅读 · 0 评论 -
【SQL】运用JDBC实现一个注册、登录系统的编写
数据库的建立首先,建立一个数据库,存储注册成功的账户信息。其SQL的DDL语句如下:CREATE TABLE `jdbctest` ( `id` int(10) NOT NULL auto_increment, `username` varchar(20) default NULL, `password` varchar(20) default NULL, `realN原创 2013-08-07 01:39:44 · 4441 阅读 · 3 评论 -
【SQL】JDBC读取properties属性文件
Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件。文件的内容是格式是"键=值"的格式,在 properties 文件中,可以用"#"来作注释。properties文件在Java编程中用到的地方很多,操作很方便。例如,我们可以把数据库连接信息,如URL、账号、密码这些动态信息不写在class中,原创 2013-07-27 18:14:36 · 5200 阅读 · 0 评论 -
【SQL】JDBC之Statement类中“批处理”的综合运用
批处理 介绍Java 的批处理机制可以一次性执行多条 SQL 语句,效率更高。减少网络流量,速度更快。通过调用方法 addBatch 可以批量执行此列表中的命令。调用executeBatch()批量执行sql。sql通常是insert 【插入】或 update 【更新】或 delete 【删除】操作。批处理的模板代码 try { stmt = conn.cr原创 2013-07-28 01:27:59 · 2483 阅读 · 1 评论 -
【SQL】JDBC之通过唯一性元素查询匹配数据库中其他对应元素
说明在JDBC进行开发工作中,时常需要对数据库中数据进行传值操作,为了方便起见,我们可以只传值那个唯一性元素。再通过该唯一性元素,查询匹配对应的其他元素。从而实现对数据库中元素的操作。在前段时间的项目中,自己写了一些方法,现总结如下。数据库查询匹配的通用Java代码 /** 搜索匹配 */ public Object Matching(Strin原创 2013-08-24 01:02:13 · 2136 阅读 · 0 评论 -
【SQL】JDBC之实现对MySQL数据的模糊查询
核心方法select * from AAA where A like ‘%a%’ and B like '%b%' and C like '%c%' and...上式中:AAA为表名,A、B、C、...、为列名。即表示在表AAA中查询A列中含有a字符、B列中含有b字符、C列中含有c字符的记录。。要求如下图的一张航班信息列表,需按照航班班次、出发站、目的站等任意一个或多个条件来查询航原创 2013-08-25 02:30:40 · 4116 阅读 · 0 评论 -
【SQL】MySQL之使用mysqlbinlog进行增量备份及恢复详解
【目标】使用mysqldump做全备,结合mysql自带的binlog功能实现增量备份为了操作方便,建议开启两个Terminal,一个进行Mysql的相关操作,一个进行linux语句操作。全备份的过程参考博文:http://blog.csdn.net/jueblog/article/details/9878191增量备份过程(1)配置My.cnf文件(Win原创 2013-08-12 01:13:22 · 6017 阅读 · 0 评论 -
【SQL】MySQL之使用mysqldump全备份及恢复过程详解
使用mysqldump做全备,结合mysql自带的binlog功能实现增量备份为了操作方便,建议开启两个Terminal,一个进行Mysql的相关操作,一个进行linux语句操作。【注】进行以下步骤前,必须进行环境变量的配置,以确保mysql和mysqldump可以直接运行。若没有进行相关的环境变量配置,则需要在mysql和mysqldump命令前加入MySQL的安装路径。原创 2013-08-10 15:36:55 · 3173 阅读 · 0 评论 -
【SQL】MySQL性能优化
1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。2. EXPLAIN 你的 SELECT 查询 使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL转载 2013-08-23 00:56:35 · 1428 阅读 · 0 评论 -
【SQL】SQL中的数据查询语句汇总
where条件表达式--统计函数Select count(1) from student;--like模糊查询--统计班上姓张的人数select count(*) from student where realName like '张%';--统计班上张姓两个字的人数select count(*) from student where realName like '张_';原创 2013-07-31 00:48:20 · 2629 阅读 · 2 评论 -
【SQL】MySQL的安装使用以及SQL语法简介
在 Java 的开发中,数据库的应用是非常必要的,下面,我们为Java对于数据库的应用做一些必要的准备工作。、Java 对数据库的应用统称为 JDBC。JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。先安装两个软件 M原创 2013-07-26 19:07:52 · 2697 阅读 · 0 评论 -
【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数--拼接字符串组成新的字符串 Select concat(‘A’,’B’);--返回字符串长度Select length(“CAT”)--返回子字符串在字符串中首次出现的位置,没有返回0SELECT locate("b","abcd"); --返回2--下例结果为’??hi’ , 在左边填补?直到指定长度select LPAD('hi',4,'?');--从左边或右边原创 2013-08-01 17:10:14 · 1833 阅读 · 0 评论 -
【SQL】查询一段时期内的交易流水记录
#当前月 上个月 前三个月 十个月SELECT * FROM timetest WHERE year(time)=year(NOW()) and month(time)=(month(NOW()));SELECT * FROM timetest WHERE month(time)!=month(NOW()) and (time BETWEEN (date_sub(NOW(),interval 1 month)) and NOW());SELECT * FROM timetest WHERE mo原创 2013-08-01 19:16:08 · 7195 阅读 · 0 评论 -
【SQL】SQL注入漏掉及其检测、防范措施
SQL注入(SQLInjection)漏洞攻击是目前网上最流行最热门的黑客脚本攻击方法之一,那什么是SQL注入漏洞攻击呢?它是指黑客利用一些Web应用程序(如:网站、论坛、留言本、文章发布系统等)中某些存在不安全代码或SQL语句不缜密的页面,精心构造SQL语句,把非法的SQL语句指令转译到系统实际SQL语句中并执行它,以获取用户名、口令等敏感信息,从而达到控制主机服务器的攻击方法。 1. SQ转载 2013-08-04 22:28:04 · 5622 阅读 · 0 评论 -
【SQL】Oracle分页查询的三种方法
采用伪列 rownum查询前10条记录select * from t_user t where ROWNUM 按照学生ID排名,抓取前三条记录SELECT * FROM(SELECT id,realname FROM T_USER ORDER BY id asc ) WHERE ROWNUM 分页SQL写法,从第10条记录开始,提取10条记录。SELECT * FROM (SELE原创 2013-08-05 17:03:48 · 25108 阅读 · 1 评论 -
【SQL】Oracle的PL/SQL语法及其拓展数据类型总结
PL/SQL语法PL/SQL程序由三部分组成,声明部分、执行部分、异常处理部分。模板:DECLARE /*变量声明*/BEGIN /*程序主体*/EXCEPTION /*异常处理部分*/END;接收用户的输入信息PL/SQL 块还可以接收用户的输入信息,例如:现在要求用户输入一个雇员编号,之后根据输入的内容进行查询,查询雇员的姓名。用户的输入信息使用“&”完成原创 2013-08-05 22:33:59 · 2011 阅读 · 0 评论 -
【SQL】MYSQL远程登录权限设置
Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录:1. 进入mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;IDENTIFIED BY后跟的是密码,可设为空。2. FLUSH privileges; 更新远程连接相关操作Mysql为了安全转载 2013-08-08 23:00:47 · 3513 阅读 · 0 评论 -
【SQL】 Windows7下的Oracle10g因版本无法安装问题的解决
Oracle10g在Windows7下安装时,在安装的版本检测时提示目前oracle不支持version为6.1的windows OS系统的时候。如下图所示:或者:看来是oracle不能够识别Windows 7 ,只需要修改refhost.xml文件,让Oracle能够识别到操作系统的类型。点击oracle安装文件,查找refhost.xml文件原创 2014-02-21 13:19:39 · 1874 阅读 · 0 评论