資料庫基礎
1.什麼是資料庫?
資料庫:database,儲存資料的倉庫
資料庫:高效的儲存和處理資料介質(介質主要是兩種:磁碟和記憶體)
2.資料庫的分類?
資料庫基於儲存介質的不同,進行了分類。分為兩類:關係型資料庫(sql)和非關係型資料庫(nosql:not only sql,不是關係型的資料庫都叫非關係型資料庫)
3.不同資料庫陣營的產品有哪些?
關係型資料庫:
大型:oracle,db2
中型:sql-server,mysql等
小型:access等
非關係型資料庫:memcached,mongodb,redis(同步到磁碟)
4.兩種資料庫陣營的區別:
關係型資料庫:安全(儲存磁碟基本不可能丟失),容易理解,比較浪費空間(二維表)
非關係型資料庫:效率高,不安全(斷電丟失)
關係型資料庫
1.什麼是關係型資料庫?
關係型資料庫:是一種建立在關係模型(數學模型)上的資料庫
關係模型:一種所謂建立在關係上的模型,關係模型包含三個方面:
資料結構:資料儲存的問題,二維表(有行和列)
操作指令集合:所有sql語句
完整性約束:表內資料約束(欄位與字段),表與表之間的約束(外來鍵)
2.關係型資料庫的設計:
關係型資料庫:從需要儲存的資料需求中分析,如果是一類資料(實體)應該設計成一張二維表:表是由表頭(欄位名:用來規定資料的名字)和資料(實際儲存的資料單元)部分組成。
二維表:行和列
表頭欄位名1
欄位名2
資料單元
資料1資料2
以實際案例來進行處理:分析乙個教學系統,講師負責教學,教學生,在教室教學生。
a.找出系統中所存在的實體:講師表,學生表,班級表
b.找出實體中應該存的資料資訊:
講師:姓名,性別,年齡,工資等
學生:姓名,性別,學號,學科等
班級:班級名字,教室編號等
關係型資料庫:維護實體內部,實體與實體之間的聯絡
實體內部聯絡:每個學生都有姓名,性別,年齡,學號,學科資訊
姓名性別
年齡學號
學科張三
男大叔據李四女
第二行的所有字段,都是在描述張三這個學生(內部聯絡),第二列只能放性別(內部約束)
關係型資料庫的特點之一:如果表中對應的某個字段沒有值(資料),但是系統依然要分配空間。所以關係型資料庫比較浪費空間
實體與實體之間的聯絡:每個學生肯定屬於某個班級,每個班級一定有多個學生(一對多)
學生表:
姓名性別
年齡學號
學科張三
男大叔據李四女
班級表
mysql資料庫存過例項
create procedure bb test updatedb begin declare test i int default 0 declare test char varchar 255 default test insertdb while test i 50 do set test c...
mysql資料庫存入特殊字元
直接上 實現 import pymysql config 連線資料庫 con pymysql.connect config 獲得運算元據庫的游標 cursor con.cursor ck 123 sql insert into db ch values s params一般情況為元組 params ...
mysql判斷庫存寫入資料庫
電商商品 時必須判斷庫存,下面舉例了兩種寫法,寫法一是常見的錯誤寫法,併發量大的時候會出現意外,寫法2為改進後 begintranse 開啟事務 trycatch e exception catch e exception catch e exception rollback 回滾 commit 提...