pymysql 操作mysql和資料庫同步

2021-08-15 06:22:52 字數 2752 閱讀 9314

嘻嘻,我又來寫部落格了~作為一名菜鳥,我非常喜歡寫部落格,記錄下自己的成長,然後也是一些總結

create

database laboratory;

use laboratory;

create

table salary(

id int,

name varchar(50),

salary decimal(8,2),

primary

key (id)

);describe salary;

-- 學習一下更改這個表裡面column屬性的一些資訊 反引號!很重要!stackoverflow上講的!很重要!

alter

table salary

change `name`

`name`

varchar(50)not

null,

change `salary`

`salary`

decimal(8,2)not

null;

-- 再次檢視表名的屬性等

describe salary;

insert

into salary values(1,'zhangsan',5500);

insert

into salary values(2,'lisi',5000);

insert

into salary values(3,'wangwu',7000);

-- 構建更新過程

-- 給工資低於a的人漲x%

delimiter \\

create

procedure add_salary(

in a decimal(8,2),

in b int

)comment 'add salary,optionnally below a'

begin

update salary

set salary = salary*(1+b/100)

where salary < a;

end\\

delimiter ;

-- 呼叫過程

call add_salary(6000,5);

select *

from salary;

因為自己寫純種sql語句的次數很少,很陌生於是我就從一開始建表,到修改表,然後建立儲存過程,到呼叫,再次過一遍,多練幾次就熟悉了嘛~ok,原生態sql語句,寫好了,然後也呼叫成功了,得到了結果:如下

在pycharm裡面寫資料的時候,總是出現報錯,說資料沒繫結,可能搜不到,然後我就在pycharm裡面繫結了資料來源

然後發現,pycharm的這個資料來源功能真滴強大,並且檢索資料不會卡。我之前在vs上用的sql server的時候卡的我。。。還可以在上面各種操作,寫sql語句等。蠻好用的

然後興高采烈地去pycharm上一展身手

import pymysql

conn = pymysql.connect(

host='localhost',

user='root',

password='lyy1314520',

db='laboratory'

)cur = conn.cursor()

cur.callproc('add_salary', (6000, 5))

sq1 = '''

select *

from salary

'''cur.execute(sq1)

result = cur.fetchall()

for i in result:

print(i)

cur.close()

conn.close()

來看看結果:(因為我已經在mysql裡面執行過一次,所以這是在其基礎上又執行了一次)

(1, 『zhangsan』, decimal(『6063.75』))

(2, 『lisi』, decimal(『5512.50』))

哈哈哈~當時滿臉笑嘻嘻,誰知mmp,原始資料庫沒改!沒改啊!沒同步啊?這和我之前在別的地方玩的時候不一樣啊!

通過在網上查詢, 問題與mysql的儲存引擎對事務的支援有關。 mysql中有多種型別的儲存引擎, 例如: myisam, innodb等。 myisam不支援事務處理, 而innodb是事務型資料庫, 支援事務。 我的mysql的預設儲存引擎就是innodb, 所以對資料庫資料的操作會在事先分配的快取中進行, 只有在commit之後, 資料庫的資料才會改變。這和mysql裡面的設定有關係,然後我就乖乖在最後麵加了一句

conn.commit( )

問題解決~

今天的話也沒幹啥,大概就是解決了幾個小問題,然後試了下remarkdown,寫了幾遍過程,解決了2014 錯誤碼,還有pymysql,事務提交。其實一開始寫的時候很生疏。。多寫幾遍就熟練了,所以動手寫很重要!看一遍真的會了嗎?答案是tan90,騙自己。路漫漫其修遠兮~加油啊~啦啦啦。賊喜歡寫部落格了。。給自己增加點觀眾,感覺挺好的。也是個很好的總結過程。都是自己乙個字乙個字寫的,所以收穫很大的!!

pymysql連線和操作Mysql資料庫

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,pip install pymysql 建立connection 獲取cursor 執行增刪改查的操作 處理資料 關閉cursor 關閉connection 說明語法格式 conn pymysql.connect ...

使用PyMySQL操作mysql資料庫

使用pymysql操作mysql資料庫 python版本 2.6或3.3 mysql版本 4.1 使用pip安裝,在命令列執行如下命令 1 pip install pymysql 其中的x.x是版本 目前可以獲取的最新版本是0.6.6 1 python setup.py install 建議使用pi...

使用PyMySQL操作MySQL資料庫

pip3 install pymysql或者python3 m pip install pymysql 注意 連線之前先確保你已經安裝mysql資料庫 mysql config conn pymysql.connect mysql config 資料庫連線 cur conn.cursor 游標物件m...