1.MongoDB數據庫:屬于非關系型數據庫(NoSQL)
MongoDB官網:https://www.mongodb.com/
Pymongo第三方庫:
py -3 -m pip install pymongo
-
可視化工具Robomongo :https://robomongo.org/
MongoDB安裝完成后,需要給MongoDB指定數據存儲的位置。可打開MongoDB下載的路徑,新建data文件夾,然后在data文件夾下新建db文件夾,db文件夾就是用于存儲MongoDB數據的,如圖所示:
image.png最后,還需要進行數據庫文件的配置,用于啟動MongoDB服務。
代碼為:mongod -dbpath D:\mongodb\data\db
-
MongoDB的使用:
1).保證好MongoDB服務已經啟動并連接
①在“\mongodb\bin”文件夾下,按shift鍵的同時點擊鼠標右鍵,選擇“在此處打開命令行窗口”,并輸入mongo
進行數據庫的連接。
image.png②正常連接后,可以輸入
show dbs
查看數據庫,輸入use XXX
來打開某個數據庫,輸入show collections
查看該數據庫中的集合。(注:數據庫和集合類似于Excel的文件和表格,一個Excel文件可以有多個表格,一個數據庫也可以有多個集合。)
image.png
2).新建數據庫和集合
import pymongo
client = pymongo.MongoClient('localhost',27017) #連接數據庫
mydb = client['mydb'] #新建mydb數據庫
test = mydb['test'] #新建test集合
3)插入數據(只有插入數據后才會真正建立數據庫,可通過Robomongo進行刷新來觀察數據庫的建立。)
import pymongo
client = pymongo.MongoClient('localhost',27017) #連接數據庫
mydb = client['mydb'] #新建mydb數據庫
test = mydb['test'] #新建test集合
test.insert_one({'name':'Rain','sex':'女','grade':98}) #使用insert_one插入數據
4)導出CSV文件: 在bin文件夾下打開命令行窗口,并輸入以下命令來完成csv文件的導出。
mongoexport -d mydb -c test --csv -f name,sex,grade -o test.csv
-d #數據庫
-c #集合
-f #需要導出的字段
使用記事本打開bin目錄夾下的test.csv文件:
2.MySQL數據庫:屬于關系型數據庫。
- MySQL官網:https://www.mysql.com/
- PyMySQL第三方庫:
py -3 -m pip install pymysql
- 可視化工具SQLyog:https://www.webyog.com/product/sqlyog
MySQL安裝時就已經開啟了服務,所以MySQL不用通過命令行來啟動服務。
MySQL的使用:在MySQL的安裝路徑bin文件夾下打開命令行窗口,輸入以下命令,即可連接數據庫。
mysql -uroot -p123456
##后面是登陸密碼,若無密碼,則使用mysql -uroot
。
默認路徑為:C:\Program Files\MySQL\MySQL Server 5.7\bin
正常連接后,可以輸入
show database;
查看數據庫(注意:";"不能少),輸入use XXX
來打開某個數據庫,輸入show tables;
查看該數據庫中的數據表。-
建立數據庫以及數據表:
在MySQL的安裝路徑bin文件夾下打開命令行窗口,輸入以下命令:
?①建立數據庫:CREATE DATABASE mydb;
?②進入mydb數據庫:use mydb;
?③建立數據表:CREATE TABLE students ( name char(5), sex char(1), grade int )ENGINE INNODB DEFAULT CHARSET=utf8;
?④插入數據:
INSERT INTO students (name,sex,grade) values ('張飛','男',66); ##注:插入的字段無需用“”括起來,不能寫成: INSERT INTO students ("name","sex","grade") ...
如下圖所示:
還可以在Python中使用pymysql來實現數據的插入:
import pymysql
conn = pymysql.connect(host='localhost',user='root',db='mydb',port=3306,charset="utf8") #連接數據庫
cursor = conn.cursor() #光標對象
cursor.execute("insert into students(name,sex,grade) values(%s,%s,%s)",("趙靈","女","88")) #插入數據
conn.commit() #提交事務。若無此句,數據無法真正進入數據庫。
在命令行中操作MySQL的其他命令:
- 查看數據表的結構:
DESCRIBE students;
- 從數據表中提取數據:
select * from students;
或select * from students where sex="女";
或select * from students where name LIKE "張%";
(%是MySQL中的字符串通配符,搭配LIKE進行部分匹配) - 刪除數據表的數據:
DELETE FROM students
(刪除students表中的所有內容)
DELETE FROM students WHERE grade<70;
(刪除分數少于70的所有內容) - 修改數據表的數據:
UPDATE students SET grade=92 where name="趙靈";
- 刪除數據表:
DROP TABLE students;
- 刪除數據庫:
DROP DATABASE mydb;
image.png
image.png
image.png