資料庫的安裝和連線
pymysql的安裝
pip install pymysql
python連線資料庫
view code
更多引數
建立表操作
複製**
import pymysql
db = pymysql.connect(「localhost」,「testuser」,「test123」,「testdb」 )
cursor = db.cursor()
cursor.execute(「drop table if exists employee」)
sql = 「」「create table employee (
first_name char(20) not null,
last_name char(20),
age int,
*** char(1),
income float )」""
cursor.execute(sql)
db.close()
複製**
運算元據
插入操作
複製**
import pymysql
db = pymysql.connect(「localhost」,「testuser」,「test123」,「testdb」 )
cursor = db.cursor()
sql = 「」「insert into employee(first_name,
last_name, age, ***, income)
values (『mac』, 『mohan』, 20, 『m』, 2000)」""
try:
cursor.execute(sql) # 執行sql語句
db.commit() # 提交到資料庫執行
except:
db.rollback() # 如果發生錯誤則回滾
db.close()
複製**
另一種形式
查詢操作
python查詢mysql使用 fetchone() 方法獲取單條資料, 使用fetchall() 方法獲取多條資料。
fetchone(): 該方法獲取下乙個查詢結果集。結果集是乙個物件
fetchall(): 接收全部的返回結果行.
rowcount: 這是乙個唯讀屬性,並返回執行execute()方法後影響的行數。
複製**
import pymysql
db = pymysql.connect(「localhost」,「testuser」,「test123」,「testdb」 )
cursor = db.cursor()
sql = 「select * from employee
where income > %s」 % (1000)
try:
cursor.execute(sql)# 執行sql語句
results = cursor.fetchall()# 獲取所有記錄列表
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
*** = row[3]
income = row[4]
# 列印結果
print (「fname=%s,lname=%s,age=%s,***=%s,income=%s」 %
(fname, lname, age, ***, income ))
except:
print (「error: unable to fetch data」)
db.close()
複製**
更新操作
複製**
import pymysql
db = pymysql.connect(「localhost」,「testuser」,「test123」,「testdb」 )
cursor = db.cursor()
sql = 「update employee set age = age + 1 where *** = 『%c』」 % (『m』)
try:
cursor.execute(sql) # 執行sql語句
db.commit() # 提交到資料庫執行
except
db.rollback() # 發生錯誤時回滾
db.close()
複製**
刪除操作
複製**
import pymysql
db = pymysql.connect(「localhost」,「testuser」,「test123」,「testdb」 )
cursor = db.cursor()
sql = 「delete from employee where age > %s」 % (20)
trycursor.execute(sql) # 執行sql語句
db.commit() # 提交修改
except
db.rollback() # 發生錯誤時回滾# 關閉連線
db.close()
複製**
資料備份
資料庫的邏輯備份
複製**
#語法:
#示例:
#單庫備份
mysqldump -uroot -p123 db1 > db1.sql
mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql
#多庫備份
mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
#備份所有庫
mysqldump -uroot -p123 --all-databases > all.sql
複製**
資料恢復
複製**
#方法一:
[root@egon backup]# mysql -uroot -p123 < /backup/all.sql
#方法二:
mysql> use db1;
mysql> set sql_log_bin=0; #關閉二進位制日誌,只對當前session生效
mysql> source /root/db1.sql
複製**
事務和鎖
begin; # 開啟事務
select * from emp where id = 1 for update; # 查詢id值,for update新增行鎖;
update emp set salary=10000 where id = 1; # 完成更新
commit; # 提交事務
用Python對MySQL簡單操作
import pymysql 連線資料庫 conn pymysql.connect host localhost user root password helloguitar532123 charset utf8 獲得浮標 cursor conn.cursor 建立資料庫 sql create cr...
用mysqlbinlog恢復MySQL資料庫
如果mysql 伺服器 啟用了二進位制日誌,你可以使用mysql binlog工具來恢復從指定的時間點開始 例如,從你最後一次備份 直到現在或另乙個指定的時間點的資料。關於啟用二進位制日誌的資訊,參見5.11.3節,二進位制日誌 對於 mysql binlog的詳細資訊,參見mysql手冊8.6節,...
C WindowsForm操作MySql資料庫
1 c 提供運算元據庫技術 ado技術 2 運算元據庫步驟 連線資料庫 要先開啟允許遠端連線設定 1 定義連線資料庫字串 sql server 動態鏈結庫 using system.data.sqlclient string constr server uid root pwd 1365756916...