① jdbc连接mysql,,,
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Connection;
importjava.sql.Statement;
publicclassMysqlDemo{
publicstaticvoidmain(String[]args)throwsException{
Connectionconn=null;
Stringsql;
//MySQL的JDBCURL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
//避免中文乱码要指定useUnicode和characterEncoding
//执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
//下面语句之前就要先创建javademo数据库
Stringurl="jdbc:mysql://localhost:3306/javademo?"
+"user=root&password=root&useUnicode=true&characterEncoding=UTF8";
try{
//之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
//可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName("com.mysql.jdbc.Driver");//动态加载mysql驱动
//or:
//com.mysql.jdbc.Driverdriver=newcom.mysql.jdbc.Driver();
//or:
//newcom.mysql.jdbc.Driver();
System.out.println("成功加载MySQL驱动程序");
//一个Connection代表一个数据库连接
conn=DriverManager.getConnection(url);
//Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statementstmt=conn.createStatement();
sql="createtablestudent(NOchar(20),namevarchar(20),primarykey(NO))";
intresult=stmt.executeUpdate(sql);//executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
if(result!=-1){
System.out.println("创建数据表成功");
sql="insertintostudent(NO,name)values('2012001','陶伟基')";
result=stmt.executeUpdate(sql);
sql="insertintostudent(NO,name)values('2012002','周小俊')";
result=stmt.executeUpdate(sql);
sql="select*fromstudent";
ResultSetrs=stmt.executeQuery(sql);//executeQuery会返回结果的集合,否则返回空值
System.out.println("学号 姓名");
while(rs.next()){
System.out
.println(rs.getString(1)+" "+rs.getString(2));//入如果返回的是int类型可以用getInt()
}
}
}catch(SQLExceptione){
System.out.println("MySQL操作错误");
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}finally{
conn.close();
}
}
}
② 谁有mysql数据库的笔记呀
mysql学习的笔记:
Mysql和SQL的语法差不多是一样的,分为以下几个大类。
1、 数据定义语言(DDL):create , alter ,drop 等
2、 数据操作语言(DML):如插入,修改,删除等
3、 数据控制语言(DCL):grant,revoke等
我们通过控制台的mysql进行数据库操作,mysql语句的结束符是 ';'
当我们进入到mysql的控制台之后,可以查看有几个数据库
数据库操作:
显示所有数据库:show databases ;
删除数据库:drop databases dbname ;
创建数据库:create database [if not exists] dbname ;
切换数据库:use dbname ;
③ 如何用sql批量删除mysql数据库一个id段内的dedecms文章
dedecms文章标题是在哪个数据库表?要批量替换关键词
一位小MM刚接触dedecms没多久还不熟悉后台的操作,她说改dedecms文章中的品牌名改到手酸,问ytkah是否有批量替换关键词的方法,教了她dedecms后台批量替换文章中的关键词方法,她高兴坏了,感觉非常神奇!过没几分钟,她又发愁了,说标题还是没变,不知道如何批量替换dedecms文章标题中的关键词。
其实方法是一样的,只是数据表不同而已。那么,dedecms文章标题是在哪个数据库表呢?织梦文章标题在数据库dede_archives表中,如果你有设置数据库表前缀的话,dede换成自己设置的字符。
笔记:dedecms文章标题在dede_archives里,dedecms文章内容在dede_addonarticle里
首先我们得先知道dedecms文章最常用到哪些数据表。从上一篇文章我们清楚了dedecms文章标题在dede_archives里,dedecms文章内容在dede_addonarticle里,then我们就先从这边入手。
养成个好习惯,操作数据库前先备份一下,不然哭天喊地也无济于事!还有你也可以搭建一个本地服务器,就像ytkah就喜欢这种方式,WampServer是个不错的选择。
④ php mysql 怎样把“现在时间”和“datetime字段时间”做比较
呵呵,刚刚为你写的代码,请参考: date_default_timezone_set("Asia/Shanghai");//设置时区$datetime="2010-8-24 08:19:10";//DATA时间 $datetime_times=strtotime($datetime);//把时间转换成UNIX时间戳$now_times=time();//获取当前时间戳 $times=$now_times-$datetime_times;//时间差$hours=$times/60/60;//间隔小时echo $hours;//输出间隔的小时 本文来源于WEB开发笔记 http://www.chhua.com , 原文地址: http://www.chhua.com/web-note596
⑤ mysql 子查询里面不能有limit 然后我换了种写法,在此做笔记
这样的语句是不能正确执行的。
select * from table where id in (select id from table limit 10);
但是,只要你再来一层就行。。如:
select * from table where id in (select t.id from (select * from table limit 10)as t)
⑥ mysql读写分离,我怎么设置让那一台读哪一台写,还是说设置好主从默认就是主是读
根据要求配置MySQL主从备份、读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记;
现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用。
为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致;
环境:192.168.0.1 (Master)
192.168.0.2 (Slave)
MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i686) using readline 5.1
server-id = 1 //数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;
log-bin=mysql-bin //启用二进制日志;
binlog-do-db=data //需要同步的二进制数据库名;
binlog-ignore-db=mysql //不同步的二进制数据库名;这个同步后听说很麻烦,我没有同步;
log-bin=/var/log/mysql/updatelog //设定生成的log文件名;
log-slave-updates //把更新的记录写到二进制文件中;
slave-skip-errors //跳过错误,继续执行复制;
2、建立复制所要使用的用户;
mysql>grant replication slave on *.* to identified by '********'
3、重启mysql;
/usr/bin/mysqladmin -uroot shutdown;
/usr/bin/mysql_safe &
4、现在备份Master上的数据;
锁定后我直接tar.gz data这个库文件;
mysql>FLUSH TABLES WITH READ LOCK;
cd /var/lib/mysql
tar data.tar.gz data
接着直接执行了远程scp;
scp ./data.tar.gz
5、登录Slave数据库服务器,修改my.cnf;
server-id = 3 //2已经被用在另一个服务器上了,如果以后要再加Slave号接着往后数就OK了;
⑦ 10亿级流数据交互查询,为什么抛弃mysql选择voltdb
10亿级流数据交互查询,为什么抛弃mysql选择voltdb
作者 谭正海、武毅 发布于 2016年8月18日 | 被首富的“一个亿”刷屏?不如定个小目标,先把握住QCon上海的优惠吧!讨论
分享到:微博微信FacebookTwitter有道云笔记邮件分享
稍后阅读
我的阅读清单
大数据时代,随着数据量的爆炸式增长,对于数据的处理速度要求也越来越高,以往基于MySQL的数据处理方案已无法满足大吞吐、低延迟的写入和高速查询的场景;百分点总结出了一套完整的解决方案,本文就带你一同了解VoltDB在流数据交互查询的应用实践。
流式数据交互查询场景
在百分点,每天有10亿条记录产生,针对这些大量实时产生的数据,不仅要做到实时写入,类似推荐调优、数据验证等查询要在秒级响应。有简单的单条验证,也有几个小时或一天的聚合计算,也有基于几千万/几亿数据表间的联合聚合查询。例如如下SQL查询:
对于前期的MySQL方案,虽然已经根据一定规则做了人工的分库,但是对于上面SQL中的表Event落在单机上的数据量达到几千万,Result表也近千万,在这样的大表之间进行复杂的联合聚合查询,MySQL查下来要花费30分钟左右,甚至更长,或是没响应了。
因此在针对同时要求大吞吐、低延迟的写入和高速查询的场景下,基于MySQL的现存方案完全无法实现。在不放弃SQL语句的便利基础上,经历过多种选型和方案调研,最终选择了VoltDB来解决此类问题。
相关厂商内容
携程的推荐及智能化算法及架构体系实践
Autodesk基于Spark自建大数据平台的实践经验
大数据与电商四大核心要素
阿里巴巴数据研发体系的建立和管理之道
苏宁云商数据平台实时化实践
相关赞助商
QCon上海2016,10月20~22日,上海·宝华万豪酒店,精彩内容抢先看!!
如上图,线上的全量流量,通过Streaming总线同时到达VoltDB和离线Hive表。不同的是,数据写入VoltDB使用实时方式,写入Hive使用批量方式。新的数据要求在极短的延迟内马上写入VoltDB待查询;批量写入Hive的数据也可以做到小时级以内刷写到对应分区。
VoltDB简介
VoltDB是一种开源的极速的内存关系型数据库,由Ingres和Postgres联合创始人Mike Stonebraker带领开发的NewSQL,提供社区版本和商业版本。VoltDB采用shard-nothing架构,既获得了NoSQL的良好可扩展性以及高吞吐量数据处理,又没有放弃传统关系型数据库的事务支持---ACID。
一般VoltDB数据库集群由大量的站点(分区)组成,分散在多台机器上,数据的存储与处理都是分布在各个站点的,架构图如下所示:
如上图,集群有3个节点、每个节点1个站点构成。因此图中的表都只分成3个区,当然也可以分成更多的区,那么一张表在单个节点上则存在多个分区。
具体在使用上涉及以下几个概念:
客户端可以连接集群中任意一个节点,集群中所有节点是对等的,采用的也是水平分区的方式;
每张表指定一个字段作为分区键,VoltDB使用该键采用哈希算法方式分布表数据到各个分区。事实上VoltDB中存在两种类型的表,一种是分区表,还有一种叫做”Replicated table”。”Replicated表”在每个节点存储的不是某张表的部分数据,而是全部数据,适用于小数据量的表。
这里我们主要看重分区表,分区表的分区字段的选择很重要,应该尽量选择使数据分散均匀的字段。
VoltDB支持的客户端语言或接口:
C++
C#
Erlang
Go
Java
Python
Node.js
JDBC 驱动接口
HTTPJSON 接口 (这意味着所有能实现http请求语言,都能编写VoltDB的客户端程序,且非常直观)
⑧ 拿站的步骤分几步
下面我就把我拿站的步骤给说一下。
第一:找后台。利用所知道的所有知识找后台。工具,猜目录。等等 (工具:啊D 明小子 萝卜 清凉的目录扫描软件 )
第二:后台找到了那么就社工下,看看能不能利用弱口令或者万能进去。进去就好说了直接拿SHELL。但是若口令不行只有其他办法了。
第三:找SQL注射点。GOOGLE语法 sqlmap 手工 WVS 等等,都可以帮大家找 。
第四:没有注射,旁注。 明小子就有这个功能。还有就是www.bing.com 这个网站,ip.wen.la
都是找旁注不错的方法。
第五:没旁注 ,那就得看服务器了 ,开启了什么端口。比如21 23 3389 什么的。这些端口大家懂的。FTP是有办法爆破的。
第六:敏感端口没有开启。那就返回来继续观察网站。看下网站的设计。有什么网站是和这个网站是一样的。可以拿下那个网站下载下源码查看下有什么漏洞。
总结:据我所知一般的网站都是有XSS漏洞的。虽然没多少权限,但是多数前台权限还是有的。
最后说下要学习渗透的步骤。这个只是我自己的想法。
各种工具利用----了解各种数据库(access mysql mssql )-----手工学习(更容易了解网站原理)----做笔记(把自己拿站的笔记记下,拿复杂的站会有用的。)暂时就说这么多了。