前两节内容传送门:
夯实基础系列一:Java 基础总结
夯实基础系列二:网络知识总结html
对于后端开发人员来讲,常常会和数据打交道,今天总结下数据库相关的知识。包括MySQL,JDBC基础,JDBC进阶,MongoDB,性能优化。如下对这些内容作一些简单的总结,同时我也有完整的思惟导图,博客上不方便展现,如有须要,请关注微信公众号永伦的小屋,后台回复 数据库 便可获取。java
DriverManagermysql
Connectionlinux
Statementgit
方法:
1.executeUpdate()-->增、删、改
2.executeQuery()-->查
3.addBatch(String sql)
4.executeBatch()
5.execute(String sql)github
ResultSetsql
ACIDmongodb
mysql 中开启和关闭事务数据库
JDBC 中开启和关闭事务编程
格式:
try {
con.setAutoCommit(false);//开始事务
...
con.commit();//提交事务
} catch(...) {
con.rollback();//回滚事务
}
unzip mongo-r2.6.5.zip
cd mongo-r2.6.5
scons all -j 12 //12 为 CPU 核数,用来加速编译过程
若未安装 scons,使用命令 sudo apt-get install scons
创建相关目录
编辑配置文件
mongod.conf{
port = 12345 /监听端口/
dbpath = data /指定数据文件/
logpath = log/mongod.log /指定日志文件/
fork = ture /linux后台运行标志,window无效/
}
运行程序
mongod -f conf/mongod.conf /运行mongod 加载指定配置文件/
查看运行状态
data 和 log 目录
tail mongod.log /查看日志/
操做: 一、拷贝到指定目录 :cp mongo bin 二、执行程序 mongo 127.0.0.1:12345/test(ip端口数据库)~ 三、关闭 mongodb use admin -》db.shutdownServer(),kill -15 进程 四、从新启动 mongodb:numactl --interleave=all bin/mongod -f conf/mongod.conf
一、链接数据库 /bin/mongo 127.0.0.1:12345 二、显示数据库 show dbs 三、切换数据库 use imooc(库名) 四、切换后删除数据库 db.dropDatabase() 五、建立数据库 use imooc(库名) 六、查看数据库 show dbs 七、建立 imooc_collection 并插入数据 db.imooc_collection.insert({x:1}) -> json 数据 _id全局惟一不重复,可自行定义不重复字段 db.imooc_collection.insert({x:1,_id:1}) 插入多条语句(支持js语法) for(i=3;i<100;i++) db.imooc_collection.insert({x:i}) 八、显示表结构 show collections 九、查询数据表中数据 a) 查询全部 db.imooc_collection.find() b) 条件查询(x:1的数据) db.imooc_collection.find({x:1}) c)高级查询 db.imooc_collection.find().count()/*统计条数*/ db.imooc_collection.find().skip(3).limit(2).sor({x:1})/*过滤掉前三条并限制返回2条且使用x排序*
1.db.imooc_collection.update({x:1},{x:999}) #将x为1的数据更新为x=999 update接收两个参数,第一个是过滤条件,这里是x=1的数据,第二个是须要修改的目标值 2.另外一种状况,一条数据包含三个字段值,如 >db.imooc_collection.insert({x:100,y:100,z:100}) 若是直接执行>db.imooc_collection.update({z:100},{y:99}) #将z为100的数据中的y更新为99 这样会将x和z覆盖掉,只剩下y:99 为了不这种状况,须要: >db.imooc_collection.update({z:100},{$set:{y:99}}) #加入set操做符 set操做符为部分更新操做符,使用set后,内容中存在的字段会被更新,而不存在的字段会保持原状 若是查找的数据不存在则建立: > db.user.update({name: 'admin'}, {name: 'admin-updated'}, true) 第三个参数为true便可 mongoDB:update方法有四个参数 第一个参数:查找数据的条件,如{c:1} 表示查找c为1的数据 第二个参数:要更新的数据,如{c:2} 跟新符合条件的数据c为2,默认只更新第一个符合条件的数据。 第三个参数:boolean类型,更新数据不存在时是否建立一条数据,默认为false,设置为true时,自动建立数据。 第四个参数:boolean类型,跟新数据时是否更新全部符合条件的数据,默认为false,只跟新一条符合条件的数据,设置为true时,更新全部符合条件的数据。 如db.collection.update({c:1},{$set{c:2}},false,true) update(旧数据,{$set:新数据},false,true),只能使用部分更新操做符号$SET
db.test.save({1:"hello"});保存数据到test集合中 db.test.insert({1:"hello"});插入数据到test集合中(和insert功能相同) find:一个参数,查找数据的条件,不填则查找全部数据 update:上章说过 remove:删除数据,一个参数(必须,不然会报错):条件,默认删除全部符合条件的数据。 drop:没有参数,删除当前数据表 count:查找数据的条数 sort:排序,一个参数,排序条件,{c:1} 根据c排序, 1为正序,-1为倒序。 show dbs:查询全部数据库 show tables:查询数据表 show collections; 显示当前选择的db中的集合 use dbname:选择数据库,若是数据库不存在,在第一次保存数据的时候会建立数据库。
scons all mongod -f file mongo ip:port show dbs use db show collections db.collection.insert(); db.collection.update() db.collection.delete() db.collection.count(); db.collection.find() db.collection.getIndexes() db.collection.ensuerIndex()
原文连接:夯实基础系列三:数据库知识总结