python3.6 與MYSQL的安裝與連接
因為要做文本相似性對比,所以需要大量資料,也需要把這些資料進行存儲,進行比對時可以直接提取文本的id
首先對MYSQL進行安裝,我是從百度軟件庫中下載的MYSQL,
安裝
然後進行安裝,之前我從官網下載的,使用不了,可能是之前已經安裝了一遍MYSQL,百度軟件這個是安裝時自帶32/64位,你可以自己選擇,
雖然名字是5.6.24,可是安裝的MYSQL是5.7.17版的需要註意的是在安裝之前你需要下載並安裝一下Python4.3,因為安裝的軟件只有與python3.4的connector,所以需要實現安裝一下,我的安裝流程主要是看了一本叫《Python 3 基礎教程》裏面恰巧有這個安裝步驟
安裝需要註意:
1.在安裝之前你需要下載並安裝一下Python4.3,因為安裝的軟件只有與python3.4的connector
2.port :3306
3.MYSQL安裝完成後,將安裝目錄下的bin文件夾添加到系統環境變量path中,這樣輸入mysql -u root -p,才會啟動mysql
4.不需要對my-default.ini進行修改。
如何將python3.6與MYSQL進行連接?
1.PyMySQL 是在 Python3.x 版本中用於連接 MySQL 服務器的一個庫,Python2中則使用mysqldb。所以需要pip install PyMySQL
2.進行數據庫的連接,我們可以在CMD中啟動mysql,或者打開
來啟動,首先我們需要在mysql下新建一個database 如:mysql> create database mydb; 然後在mysql> use mydb; create table students(創建一個students表)
3.在python編譯下,對創建的表進行插入,修改,刪除等操作時需要啟動mysql,而且還有mysql> use mydb; (就是表所在的數據庫)
一下用一個實例進行說明:主要是參考了http://www.cnblogs.com/hank-chen/p/6624299.html,也對其裏面的一些bug進行了更改。
[html] view plain copy
- mysql> create database mydb;
剛開始測試這個例子時用創建了一個money的表,但是在python編譯時出現
所以重新對其創建了一個save.money(主要要把之前的表給刪了,不然會出現錯誤),我用了‘id‘,出現了語法錯誤,所以直接id就行,不要帶引號。[python] view plain copy
- import pymysql
- # 連接數據庫
- connect = pymysql.Connect(
- host=‘localhost‘,
- port=3306,
- user=‘root‘,
- passwd=‘1234‘,
- db=‘save‘,
- charset=‘utf8‘
- )
- # 獲取遊標
- cursor = connect.cursor()
- # 插入數據
- sql = "INSERT INTO money (name, account, saving) VALUES ( ‘%s‘, ‘%s‘, %.2f )"
- data = (‘雷軍‘, ‘13512345678‘, 10000)
- cursor.execute(sql % data)
- connect.commit()
- print(‘成功插入‘, cursor.rowcount, ‘條數據‘)
- # 修改數據
- sql = "UPDATE money SET saving = %.2f WHERE account = ‘%s‘ "
- data = (8888, ‘13512345678‘)
- cursor.execute(sql % data)
- connect.commit()
- print(‘成功修改‘, cursor.rowcount, ‘條數據‘)
- # 查詢數據
- sql = "SELECT name,saving FROM money WHERE account = ‘%s‘ "
- data = (‘13512345678‘,)
- cursor.execute(sql % data)
- for row in cursor.fetchall():
- print("Name:%s\tSaving:%.2f" % row)
- print(‘共查找出‘, cursor.rowcount, ‘條數據‘)
- # 刪除數據
- sql = "DELETE FROM money WHERE account = ‘%s‘ LIMIT %d"
- data = (‘13512345678‘, 1)
- cursor.execute(sql % data)
- connect.commit()
- print(‘成功刪除‘, cursor.rowcount, ‘條數據‘)
- # 事務處理
- sql_1 = "UPDATE money SET saving = saving + 1000 WHERE account = ‘18012345678‘ "
- sql_2 = "UPDATE money SET expend = expend + 1000 WHERE account = ‘18012345678‘ "
- sql_3 = "UPDATE money SET income = income + 2000 WHERE account = ‘18012345678‘ "
- try:
- cursor.execute(sql_1) # 儲蓄增加1000
- cursor.execute(sql_2) # 支出增加1000
- cursor.execute(sql_3) # 收入增加2000
- except Exception as e:
- connect.rollback() # 事務回滾
- print(‘事務處理失敗‘, e)
- else:
- connect.commit() # 事務提交
- print(‘事務處理成功‘, cursor.rowcount)
- # 關閉連接
- cursor.close()
- connect.close()
結果如下:
附加MySQL相關知識:
如何用MySQL建立數據庫
啟動mysql
查看現有數據庫
mysql> show databases;
創建數據庫(假如數據庫名為 mydb)
mysql> create database mydb;
刪除數據庫(假如數據庫名為 mydb)
mysql> drop database accounts;
使用數據庫(假如使用數據庫 mydb)
mysql> use mydb;
執行完使用數據庫命令後,就可以對該數據庫進行創建、修改、插入、刪除表等操作,
mysql數據庫怎麽創建數據表並添加數據
使用 create table 語句可完成對表的創建, create table 的常見形式:
create table 表名稱(列聲明);
以創建 students 表為例, 表中將存放 學號(id)、姓名(name)、性別(sex)、年齡(age)、聯系電話(tel) 這些內容:
create table students
(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
向表中插入數據
insert 語句可以用來將一行或多行數據插到數據庫表中, 使用的一般形式如下:
insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
其中 [] 內的內容是可選的, 例如, 要給 samp_db 數據庫中的 students 表插入一條記錄, 執行語句:
insert into students values(NULL, "王剛", "男", 20, "13811371377");
按回車鍵確認後若提示 Query Ok, 1 row affected (0.05 sec) 表示數據插入成功。 若插入失敗請檢查是否已選擇需要操作的數據庫。
有時我們只需要插入部分數據, 或者不按照列的順序進行插入, 可以使用這樣的形式進行插入:
insert into students (name, sex, age) values("孫麗華", "女", 21);
python3.6 與MYSQL的安裝與連接