基於Python對資料庫的操作

2022-05-31 10:06:08 字數 2569 閱讀 9647

conn = pymysql.connect(

host='127.0.0.1',

port=3306,

user='root',

password='*******',

database='wangyi')

cur = conn.cursor(pymysql.cursors.dictcursor)

這裡的cur指的是游標。游標是對映在結果集中一行資料上的位置實體,有了游標,使用者就可以訪問結果集中的任意一行資料了,

將游標放置到某行後,即可對該行資料進行操作。然而這些都是mysql內部的事情了,我們只需要知道要寫上這麼兩句話,

在執行sql語句前例項化乙個游標物件,並在執行完sql語句提交後,關掉這個游標就好了。

try:

sql = "insert into news(title, content, keyword,type) values(%s, %s, %s,%s);"

# 資料庫中有id欄位,使用executemany 向資料庫中提交!

print(sql)

ret = self.cur.executemany(sql,[(item['new_title'],item['new_content'],word,type)])# 執行sql 語句

#有幾個佔位符 列表裡面的元組就應該有幾個元素,否則的就存不進去,

#如果資料庫裡面有id 字段,而這裡的sql語句中又沒有寫id欄位,那麼在用execute方法執行sql語句的時候,會報錯!!!!

#因此就用 executemany 這樣提交資料才會成功1

rint(ret)

self.conn.commit() # 提交資料

res = self.cur.fetchall() # 返回插入的結果

except:

self.conn.rollback() # 回滾

#執行完之後

cur.close()

conn.close()

#刪除:
cur.execute('delete from teacher where tname="cting";')

# 修改

cur.execute('update 表名 set 欄位名 = 值,欄位名 = 值 where 條件;')

cur = conn.cursor(pymysql.cursors.dictcursor)   # 設定返回的資料型別是字典

ret = cur.fetchone() # 這個語句執行一次返回乙個結果

ret = cur.fetchone() # 可以多次執行

第一正規化:確保每列的原子性(強調的是列的原子性,即列不能夠再分成其他幾列).

如果每列(或者每個屬性)都是不可再分的最小資料單元(也稱為最小的原子單元),則滿足第一正規化.

例如:顧客表(姓名、編號、位址、……)其中"位址

"列還可以細分為國家、省、市、區等。

第二正規化:在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關(一是表必須有乙個主鍵;二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的部分)

如果乙個關係滿足第一正規化,並且除了主鍵以外的其它列,都依賴於該主鍵,則滿足第二正規化.

例如:訂單表(訂單編號、產品編號、定購日期、**、……),

"訂單編號

"為主鍵,"

產品編號

"和主鍵列沒有直接的關係,即"

產品編號

"列不依賴於主鍵列,應刪除該列。

第三正規化:在第二正規化的基礎上更進一層,目標是確保每列都和主鍵列直接相關,而不是間接相關(另外非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴).

如果乙個關係滿足第二正規化,並且除了主鍵以外的其它列都不依賴於主鍵列,則滿足第三正規化.

為了理解第三正規化,需要根據armstrong公里之一定義傳遞依賴。假設a、b和c是關係r的三個屬性,如果a-〉b且b-〉c,則從這些函式依賴中,可以得出a-〉c,如上所述,

依賴a-〉c是傳遞依賴。

例如:訂單表(訂單編號,定購日期,顧客編號,顧客姓名,……),初看該錶沒有問題,滿足第二正規化,每列都和主鍵列

"訂單編號

"相關,再細看你會發現"

顧客姓名

"和"顧客

編號"相關,

"顧客編號"

和"訂單編號"

又相關,最後經過傳遞依賴,

"顧客姓名"

也和"訂單編號"

相關。為了滿足第三正規化,應去掉

"顧客姓名"

列,放入客戶表中。

python對資料庫的操作

1.安裝軟體 yum install mariadb server mysql python y 進行基礎配置後,設定編碼格式為utf 8,支援中文 mysql secure installation 安全初始化 vim etc my.cnf 10 skip networking 1 15 char...

python的資料庫操作 Python對資料庫操作

windows下安裝mysql python linux下安裝mysql python以連線mysql 解壓後,進入目錄下,執行python setup.py install 安裝過程中,常會遇到的問題 1 提示找不到mysql config的話,一般是由於mysql採用的是lnmp一鍵安裝包安裝的...

Python對資料庫進行操作

步驟三 編寫python指令碼,下例只是做了個查詢 具體使用要結合你的需求進行對資料庫操作,然後對操作結果進行校驗和下部操作。usr bin python coding utf 8 import mysql.connector import mysqldb conn mysqldb.connect ...