前兩節內容傳送門:
夯實基礎系列一: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()
原文連接:夯實基礎系列三:數據庫知識總結