数据库

一个SQL题

题目如图: 模拟题目建的表如下图: 答案: select t3.id,t3.name,max(t3.score) from (select t1.* from b t1,(select id,max(score) score from b group by id) t2 where t1.id=t2.id and t1.score<t2.score) t3 group by t3.id;

64位CentOS6.5下Eclipse用Java连接mysql

1.到官网上下载jdbc驱动,我下载的是mysql-connector-java-5.0.8.tar.gz 2.解压下载到的文件 tar -zxvf mysql-connector-java-5.0.8.tar.gz 3.将解压出来的jar包放到/usr/java/jdk1.7.0/jre/lib/ext目录下,这样就完成了配置. 测试程序: package test; import java.sql.*; public class Mysqljava {     public static v

SqlSession对象之ParameterHandler

上一篇讲了StatementHandler,其中有ParameterHandler(参数处理器)是在StatementHandler被创建时被创建的.下面对ParameterHandler进行说明.其代码如下: public interface ParameterHandler { Object getParameterObject(); void setParameters(PreparedStatement ps) throws SQLException; } 它只有两个方法,其中getPa

SqlSession对象之ResultSetHandler

ResultSetHandler是Mybatis中的另一重要接口,它的代码如下所示: public interface ResultSetHandler { <E> List<E> handleResultSets(Statement stmt) throws SQLException; <E> Cursor<E> handleCursorResultSets(Statement stmt) throws SQLException; void handleO

SQL Server-聚焦UNIOL ALL/UNION查询

初探UNION和UNION ALL 首先我们过一遍二者的基本概念和使用方法,UNION和UNION ALL是将两个表或者多个表进行JOIN,当然表的数据类型必须相同,对于UNION而言它会去除重复值,而UNION ALL则会返回所有数据,这就是二者的区别和使用方法.下面我们来看一个简单的例子. USE TSQL2012 GO--USE UNION ALL SELECT 1     UNION ALL  SELECT 2     UNION ALL SELECT 2     UNION ALL S

mysql 基本操作二

1.查询数据 MariaDB [jason]> select * from runoob_tbl limit 2 offset 2; 默认是从偏移量为0 处开始查村数据,通过指定offset 可以从offset 处开始取数 2.where 语句 MariaDB [jason]> select * from runoob_tbl where runoob_title like '%python%'; +-----------+--------------+---------------+----

&lt;util:properties id=&quot;propertiesReader&quot; location=&quot;classpath:jdbc.properties&quot;/&gt;

Property or field 'jdbc' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public? // jdbc.username=scott jdbc.password=TIGER jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl jdbc.driver=orac

数据库中的视图、序列及索引

一.视图 语法:create view 视图名称 as 子查询 例:创建一视图,包含全部的20部门的雇员信息(雇员编号,姓名,工作,雇佣日期) create view emp20 as select empno,ename,job,hiredate from emp wheredeptno = 20; 删除视图:drop view 视图名称 替换视图:create or replact 视图名称 as 子查询 更换视图时不需要先执行删除操作,系统会为用户自动删除及重建 create or rep

MySQL建表时列名同保留字重复问题解决办法

建表时遇到遇到属性名同MySQL的保留字相同导致不能建表的问题,如下SQL语句: CREATE TABLE TBL_ACCOUNT_FROZEN_RECORD ( ID BIGINT NOT NULL AUTO_INCREMENT, TRADE_FLOW_ID VARCHAR(60) NOT NULL, ACCOUNT_NO VARCHAR(32) NOT NULL, INITIATOR VARCHAR(16) NOT NULL, OPERATE_TYPE VARCHAR(32) NOT NUL

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

互联网电商系统数据库分库本表带来问题

随着互联网电商系统订单量爆发式增长,原有一个库一个订单表无法满足公司业务,需要重新考虑记录订单数据问题. 现在公司订单数据情况: 前端一套订单库放在IDC机房(通过VPN连接到公司局域网服务器) 后端两套订单库(放在公司机房),一套是写的库,一套是只读数据库,两套库以写的库为主库进行同步到从库只读库 现有订单库包含:订单及订单相关的表:优惠券表,促销表,商品表,地区等基础数据表,财务表,仓库系统表,运输物流系统,表用户系统表 1.简单办法:初步讨论需要对订单历史数据进行归档 2.最终办法:实现订

mysql存储过程详解

1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数据库中的存储过程可以

2016.9.26小程序---数据库小练习1

1 -- createbbc, 1, 50 2 DROP TABLE bbc; 3 4 CREATE INDEX bbc_region ON bbc(region); 5 6 7 -- tabbbc, 1, 50 8 INSERT INTO bbc VALUES ('Afghanistan','South Asia',652225,26000000,NULL); 9 INSERT INTO bbc VALUES ('Albania','Europe',28728,3200000,66560000

mysql 5.7 主从设置

从库同步主库上的数据,(让其他数据库服务器自动同步当前正在被访问的数据服务器上的数据) 主从同步的结构类型 1主------>1从 (常用) 一台主服务器(负责业务更新)一台从服务器 1主------->多从(常用)一台主服务器(负责业务更新)多台从服务器 主------->从-------->从 一台主服务器(负责业务更新)一台从服务器 (同时作为另一台的主服务器)一台从服务器 主<==>主(不单独用,一般和第三方软件一起做高可用集群或负载均衡) 服务器相互为主从服务

修改MySQL高可用模块接收自定义VIP参数

但凡是MySQL DBA肯定都听说过MHA个高可用方案,而且很多公司都是通过对MHA做二次开发来实现MySQL高可用的.如果MHA不结合VIP的话,每次主库切换都需要程序修改连数据库的配置,这样比较麻烦.而采用MHA+VIP的方式时可以在主库切换的过程中让VIP漂移到新主库,省去了改数据库配置这一过程. 公司以前是每一组主从复制集群都配置一个manager结点,然后将vip和网络接口等信息都写死在master_ip_failover和master_ip_online_change脚本中.当主从集

ORA-00600 kcratr_nab_less_than_odr数据库报如下错误

早上发现数据库报如下错误: [html] view plaincopy Successful mount of redo thread 1, with mount id 339694234 Database mounted in Exclusive Mode Lost write protection disabled Completed: ALTER DATABASE   MOUNT Mon Jan 26 09:12:01 2015 ALTER DATABASE OPEN Beginning 

Mysql配置安装过程

Mysql下载和配置过程 配置完成以后,在启动mysql服务的时候net start mysql,出现了3534错误: The service did not report an error.More help is available by typing NET HELPMSG 3534. 这是因为在安装完mysql以后没有进行初始化造成的,重新执行初始化指令即可: mysqld --initialize 备注:在执行初始化之前,需要先将mysql目录中的data文件夹清空或者直接将data文

mysql的启动和关闭

1.常规起动 /etc/init.d/mysqld start 这个mysqld 是安装包里的mysql.server复制来的,如下 cp support-files/mysql.server /etc/init.d/mysqld 查看端口是否起来 netstat -nultp |grep 3306 查看是否有相关的进程 ps -ef |grep mysql 而事实上mysqld 是调用mysql_safe命令来开始的 mysqld_safe --user=mysql & 即起动了mysql 常

mysql 数据库数据订正

mysql 数据库数据订正 http://blog.itpub.net/22664653/viewspace-717175/ 工作过程中时常遇到数据订正的需求,该操作本身不难.操作时要求能够保持回滚~对于能够满足回滚的要求,我通常执行备份表,然后执行变更!如果发送订正错误或者用户要求回滚的时候,就完全恢复整个表,这样做会有多余的操作,因为我们只要 实际上可以选择备份要进行更正的数据!比如如下需求: 将表resource中usage_type='unused' 并且 user_id=166 的记录

mysql 长连接

PHP的MySQL持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之.这到底是为啥么.近距离观察后发现,这家伙也不容易啊,要看Apache的脸色,还得听MySQL指挥. 对于作为Apache模块运行的PHP来说,要实现MySQL持久化连接,首先得取决于Apache这个web服务器是否支持Keep-Alive. Keep-Alive Keep-Alive是什么东西?它是http协议的一部分,让我们复习一下没有Keep-Alive的http请求,从客户在浏览器输入一个有 效url地址开始,浏