一、什么是資料庫?
1、資料庫是按照資料結構來組織、存盤和管理資料的倉庫,每個資料庫都提供API用于創建、訪問、管理、搜索和復制所保存的資料,
2、資料庫的資料表之間有關聯關系,我們稱為關系型資料庫,常見的關系型資料庫有:Mysql,Sqlserver,Oracle等,Mysql是開源的,也是重點要掌握的,
3、一些基本術語:主鍵,外鍵,復合鍵,索引,參照完整性,冗余(為了避免頻繁多表查詢,而在一張表中添加的在別的表中已經存在的列)等,
二、資料庫按照,參考這個文章:
https://blog.csdn.net/bobo553443/article/details/81383194
三、查詢,試一下
1、inner join 內連接,求完全相等的集合
2、left join 左連接,以左表為準的集合
3、right join 右連接,以右表為準的集合
4、left join unite right join 左右連接,左右表的并集
四、資料型別
五、創建表
六、增刪改查陳述句
七、外鍵關聯和聯表查詢
八、事務:
1、定義:將多個步驟做捆綁的統一的處理,或者同時操作,或者同時不操作,就叫事務
2、只有使用InnoDB資料庫引擎才支持事務
3、事務的四個特性:
> 原子性:同時操作,或者同時操作,或者同時不操作
> 穩定性:遇到約束比如外鍵則全部退回,
> 隔離性:事務獨立運行,一個事務的處理結果影響其他事務那么其他事務會撤回,事務100%隔離需要犧牲速度,
> 可靠性:軟硬體奔潰后,InnoDB會利用日志檔案重構修改,可靠性和效率不可以兼得,
九、索引:
1、定義:讓資料表的檢索速度變得更快,主鍵只有一個,但是可以對多個欄位做索引,
2、注意:
> 索引其實也是一張表,如果只建立的索引,沒有使用,那么索引依然沒有發揮作用,比如你將身份證號和姓名做了索引,但是查詢的時候僅查詢居住地址,那么還是依然采用效率很低的遍歷方式,
> 索引會降低資料庫整體速度,比如你在insert,update,delete一個索引列的原值時,mysql會同時更新索引表中的資料使其重新排序,那么如果操作的頻繁了就會降低資料庫整體速度,
> 創建唯一索引,索引的值必須是唯一的,主鍵就是唯一索引,聯合索引也是要確保多個欄位的組合是唯一的
十、通過python操作資料庫
1、安裝pymysql組件:可以在pycharm中直接安裝
2、操作的代碼如下:
import pymysql con = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="xxx", db="tangwei") try: # 創建游標 cursor = con.cursor() # 執行sql,并回傳影響的行數,execute執行一行SQL陳述句 # effect_row = cursor.execute("UPDATE `tangwei`.`user` SET `name` = 'tangwei12' WHERE (`id` = '1');") # 多行提交,update和delete操作也是同理 effect_row = cursor.executemany("insert into user(name,sex) values (%s,%s)", [('name5', 'W'), ('name6', 'N')]) # 默認是打開事務的,所以最后都要提交下,不然是不會插入成功 con.commit() effect_row = cursor.execute("select * from user") # 查詢的代碼 print(effect_row) for i in range(effect_row): print(cursor.fetchone()) finally: con.close()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/141427.html
標籤:Python
上一篇:爬蟲反爬系列之破解雪碧圖反爬
