conn = pymysql.connect(這裡的cur指的是游標。游標是對映在結果集中一行資料上的位置實體,有了游標,使用者就可以訪問結果集中的任意一行資料了,host='127.0.0.1',
port=3306,
user='root',
password='*******',
database='wangyi')
cur = conn.cursor(pymysql.cursors.dictcursor)
將游標放置到某行後,即可對該行資料進行操作。然而這些都是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 ...