非关系型数据库操作.docx
- 文档编号:6016733
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:24
- 大小:586.12KB
非关系型数据库操作.docx
《非关系型数据库操作.docx》由会员分享,可在线阅读,更多相关《非关系型数据库操作.docx(24页珍藏版)》请在冰豆网上搜索。
非关系型数据库操作
1.MySQL数据库操作
1.用select语句输出所有的相关信息:
2.查询zhangsan的Computer成绩:
3.修改lisi的Math成绩,改为95:
4.根据上面已经设计出的student表,用MySQL的JAVA客户端编程;
a)添加scofield数据:
English:
45Math:
89Computer:
100
b)获取scofield的English成绩信息:
a)代码如下:
packagecom.study.mapreduce;
importjava.sql.*;
publicclassTestMySQL{
staticfinalStringDRIVER="com.mysql.jdbc.Driver";
staticfinalStringDB="jdbc:
mysql:
//localhost/stu";
staticfinalStringUSER="root";
staticfinalStringPASSWD="123";
publicstaticvoidmain(String[]args){
insertData();
}
privatestaticvoidinsertData(){
Connectionconn=null;
Statementstmt=null;
try{
Class.forName(DRIVER);
System.out.println("Connectingtoaselecteddatabase...");
conn=DriverManager.getConnection(DB,USER,PASSWD);
stmt=conn.createStatement();
Stringsql="insertintostudentvalues('scofield',45,89,100)";
stmt.executeUpdate(sql);
System.out.println("Insertingrecordsintothetablesuccessfully!
");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
if(stmt!
=null)
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
if(conn!
=null)
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
}
运行截图如下:
b)代码如下:
packagecom.study.mapreduce;
importjava.sql.*;
publicclassTestMySQL{
staticfinalStringDRIVER="com.mysql.jdbc.Driver";
staticfinalStringDB="jdbc:
mysql:
//localhost/stu";
staticfinalStringUSER="root";
staticfinalStringPASSWD="123";
publicstaticvoidmain(String[]args){
getData();
}
publicstaticvoidgetData(){
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
try{
Class.forName(DRIVER);
System.out.println("Connectingtoaselecteddatabase...");
conn=DriverManager.getConnection(DB,USER,PASSWD);
stmt=conn.createStatement();
Stringsql="selectname,Englishfromstudentwherename='scofield'";
rs=stmt.executeQuery(sql);
System.out.println("name"+"\t\t"+"English");
while(rs.next()){
System.out.print(rs.getString
(1)+"\t\t");
System.out.println(rs.getInt
(2));
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
if(rs!
=null)
try{
rs.close();
}catch(SQLExceptione1){
e1.printStackTrace();
}
if(stmt!
=null)
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
if(conn!
=null)
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
运行截图如下:
2.HBase数据库操作
1.设计完成后,用scan指令浏览表的相关信息:
2.查询zhangsan的Computer成绩:
3.修改lisi的Math成绩,改为95:
4.根据上面已经设计出的student,用HbaseAPI编程。
a)添加数据:
English:
45Math:
89Computer:
100
b)获取scofield的English成绩信息:
a)代码如下:
packagecom.study.mapreduce;
importjava.io.IOException;
importorg.apache.hadoop.conf.Configuration;
importorg.apache.hadoop.hbase.HBaseConfiguration;
importorg.apache.hadoop.hbase.TableName;
importorg.apache.hadoop.hbase.client.Admin;
importorg.apache.hadoop.hbase.client.Connection;
importorg.apache.hadoop.hbase.client.ConnectionFactory;
importorg.apache.hadoop.hbase.client.Put;
importorg.apache.hadoop.hbase.client.Table;
publicclassTestHBase{
publicstaticConfigurationconfiguration;
publicstaticConnectionconnection;
publicstaticAdminadmin;
publicstaticvoidmain(String[]args){
configuration=HBaseConfiguration.create();
configuration.set("hbase.rootdir","hdfs:
//localhost:
9000/hbase");
try{
connection=ConnectionFactory.createConnection(configuration);
admin=connection.getAdmin();
}catch(IOExceptione){
e.printStackTrace();
}
try{
insertRow("student","scofield","score","English","45");
insertRow("student","scofield","score","Math","89");
insertRow("student","scofield","score","Computer","100");
}catch(IOExceptione){
e.printStackTrace();
}
close();
}
publicstaticvoidinsertRow(StringtableName,StringrowKey,
StringcolFamily,Stringcol,Stringval)throwsIOException{
Tabletable=connection.getTable(TableName.valueOf(tableName));
Putput=newPut(rowKey.getBytes());
put.addColumn(colFamily.getBytes(),col.getBytes(),val.getBytes());
table.put(put);
table.close();
}
publicstaticvoidclose(){
try{
if(admin!
=null){
admin.close();
}
if(null!
=connection){
connection.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
运行截图如下:
b)代码如下:
packagecom.study.mapreduce;
importjava.io.IOException;
importorg.apache.hadoop.conf.Configuration;
importorg.apache.hadoop.hbase.Cell;
importorg.apache.hadoop.hbase.CellUtil;
importorg.apache.hadoop.hbase.HBaseConfiguration;
importorg.apache.hadoop.hbase.TableName;
importorg.apache.hadoop.hbase.client.Admin;
importorg.apache.hadoop.hbase.client.Connection;
importorg.apache.hadoop.hbase.client.ConnectionFactory;
importorg.apache.hadoop.hbase.client.Get;
importorg.apache.hadoop.hbase.client.Put;
importorg.apache.hadoop.hbase.client.Result;
importorg.apache.hadoop.hbase.client.Table;
publicclassTestHBase2{
publicstaticConfigurationconfiguration;
publicstaticConnectionconnection;
publicstaticAdminadmin;
publicstaticvoidmain(String[]args){
configuration=HBaseConfiguration.create();
configuration.set("hbase.rootdir","hdfs:
//localhost:
9000/hbase");
try{
connection=ConnectionFactory.createConnection(configuration);
admin=connection.getAdmin();
}catch(IOExceptione){
e.printStackTrace();
}
try{
getData("student","scofield","score","English");
}catch(IOExceptione){
e.printStackTrace();
}
close();
}
publicstaticvoidgetData(StringtableName,StringrowKey,
StringcolFamily,Stringcol)throwsIOException{
Tabletable=connection.getTable(TableName.valueOf(tableName));
Getget=newGet(rowKey.getBytes());
get.addColumn(colFamily.getBytes(),col.getBytes());
Resultresult=table.get(get);
showCell(result);
table.close();
}
publicstaticvoidshowCell(Resultresult){
Cell[]cells=result.rawCells();
for(Cellcell:
cells){
System.out.println("RowName:
"+newString(CellUtil.cloneRow(cell))
+"");
System.out.println("Timetamp:
"+cell.getTimestamp()+"");
System.out.println("columnFamily:
"
+newString(CellUtil.cloneFamily(cell))+"");
System.out.println("rowName:
"
+newString(CellUtil.cloneQualifier(cell))+"");
System.out.println("value:
"+newString(CellUtil.cloneValue(cell))
+"");
}
}
publicstaticvoidclose(){
try{
if(admin!
=null){
admin.close();
}
if(null!
=connection){
connection.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
运行截图如下:
3.Redis数据库操作
1.设计完之后,用hgetall命令分别输出zhangsan和lisi的成绩信息:
2.查询zhangsan的Computer成绩:
3.修改lisi的Math成绩,改为95:
4.根据上面已经设计出的student,用HbaseAPI编程。
a)添加数据:
English:
45Math:
89Computer:
100
b)获取scofield的English成绩信息:
a)代码如下:
packagecom.study.mapreduce;
importjava.util.Map;
importredis.clients.jedis.Jedis;
publicclassTestRedis{
publicstaticvoidmain(String[]args){
Jedisjedis=newJedis("localhost");
jedis.hset("student.scofield","English","45");
jedis.hset("student.scofield","Math","89");
jedis.hset("student.scofield","Computer","100");
Map
for(Map.Entry
value.entrySet()){
System.out.println(entry.getKey()+":
"+entry.getValue());
}
}
}
运行结果如下:
b)代码如下:
packagecom.study.mapreduce;
importredis.clients.jedis.Jedis;
publicclassTestRedis2{
publicstaticvoidmain(String[]args){
Jedisjedis=newJedis("localhost");
Stringvalue=jedis.hget("student.scofield","English");
System.out.println("scofield'sEnglishscoreis:
"+value);
}
}
运行结果如下:
4.MongoDB数据库操作
1.设计完后,用find()方法输出两个学生的信息:
2.查询zhangsan的Computer成绩:
3.修改lisi的Math成绩,改为95:
4.根据上面已经设计出的student,用HbaseAPI编程。
a)添加数据:
English:
45Math:
89Computer:
100
b)获取scofield的English成绩信息:
a)代码如下:
packagecom.study.mapreduce;
importjava.util.ArrayList;
importjava.util.List;
importorg.bson.Document;
importcom.mongodb.MongoClient;
importcom.mongodb.client.MongoCollection;
importcom.mongodb.client.MongoDatabase;
publicclassTestMongoDB{
publicstaticvoidmain(String[]args){
MongoClientmongoClient=newMongoClient("localhost",27017);
MongoDatabasemongoDatabase=mongoClient.getDatabase("student");
MongoCollection
.getCollection("student");
Documentdocument=newDocument("name","scofield").append(
"score",
newDocument("English",45).append("Math",89).append(
"Computer",100));
List
documents.add(document);
collection.insertMany(documents);
System.out.println("文档插入成功");
}
}
运行结果如下:
b)代码如下:
packagecom.study.mapreduce;
importorg.bson.Document;
importcom.mongodb.MongoClient;
importcom.mongodb.client.MongoCollection;
importcom.mongodb.client.MongoCursor;
importcom.mongodb.client.MongoDatabase;
importcom.mongodb.client.model.Filters;
importstaticcom.mongodb.client.model.Filters.eq;
publicclassTestMongoDB2{
publicstaticvoidmain(String[]args){
MongoClientmongoClient=newMongoClient("localhost",27017);
MongoDatabasemongoDatabase=mongoClient.getDatabase("student");
MongoCollection
MongoCursor
projection(newDocument("score",1).append("_id",0)).iterator();
while(cursor.hasNext())
System.out.println(cursor.next().toJson());
}
}
运行结果如下:
1.编程实现文件合并和去重操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)