MYSQL基本使用之mysql資料庫簡介
1、資料儲存
以前是這樣記錄的:結繩記事 也有這樣記錄的:甲骨 後來開始這樣記錄:圖書 傳統記錄資料的缺點: 不易儲存 備份困難 查詢不便 現代化手段----檔案 使用簡單,例如python中的open可以開啟檔案,用read/write對檔案進行讀寫,close關閉檔案 對於資料容量較大的資料,不能夠很好的滿足,而且效能較差 不易擴充套件 現代化手段----資料庫 持久化儲存 讀寫速度極高 保證資料的有效性 對程式支援性非常好,容易擴充套件
真實的倉庫是這樣的: 我們看到的是這個樣子的: 顧客看到的是這個樣子的:
2、資料庫
資料庫就是一種特殊的檔案,其中儲存著需要的資料 關係型資料庫核心元素
3、RDBMS
Relational Database Management System 通過表來表示關係型
當前主要使用兩種型別的資料庫:關係型資料庫、非關係型資料庫,本部分主要討論關係型資料庫,對於非關係型資料庫會在後面單獨開帖介紹
所謂的關係型資料庫RDBMS,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料
關係型資料庫的主要產品: oracle:在以前的大型專案中使用,銀行,電信等專案 mysql:web時代使用最廣泛的關係型資料庫 ms sql server:在微軟的專案中使用 sqlite:輕量級資料庫,主要應用在移動平臺
4、RDBMS和資料庫的關係
5、SQL
Structured Query Language
SQL是結構化查詢語言,是一種用來操作RDBMS的資料庫語言,當前關係型資料庫都支援使用SQL語言進行操作,也就是說可以通過 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的關係型的資料庫
SQL語句主要分為: DQL:資料查詢語言,用於對資料進行查詢,如select DML:資料操作語言,對資料進行增加、修改、刪除,如insert、udpate、delete TPL:事務處理語言,對事務進行處理,包括begin transaction、commit、rollback DCL:資料控制語言,進行授權與許可權回收,如grant、revoke DDL:資料定義語言,進行資料庫、表的管理等,如create、drop CCL:指標控制語言,通過控制指標完成表的操作,如declare cursor
對於web程式設計師來講,重點是資料的crud(增刪改查),必須熟練編寫DQL、DML,能夠編寫DDL完成資料庫、表的操作,其它語言如TPL、DCL、CCL瞭解即可 SQL 是一門特殊的語言,專門用來操作關係資料庫 不區分大小寫
我們學習的重點: 熟練掌握資料增刪改查相關的 SQL 語句編寫 在 Python程式碼中操作資料就是通過 SQL 語句來操作資料
# 建立Connection連線
conn = connect(host='localhost', port=3306, user='root', password='mysql', database='python1', charset='utf8')
# 得Cursor物件
cs = conn.cursor()
# 更新
# sql = 'update students set name="劉邦" where id=6'
# 刪除
# sql = 'delete from students where id=6'
# 執行select語句,並返回受影響的行數:查詢一條學生資料
sql = 'select id,name from students where id = 7'
# sql = 'SELECT id,name FROM students WHERE id = 7'
count=cs.execute(sql)
# 列印受影響的行數
print(count)
6、MySQL 簡介
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發,後來被Sun公司收購,Sun公司後來又被Oracle公司收購,目前屬於Oracle旗下產品
特點
使用C和C++編寫,並使用了多種編譯器進行測試,保證原始碼的可移植性 支援多種作業系統,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris等 為多種程式語言提供了API,如C、C++、Python、Java、Perl、PHP、Eiffel、Ruby等 支援多執行緒,充分利用CPU資源 優化的SQL查詢演算法,有效地提高查詢速度 提供多語言支援,常見的編碼如GB2312、BIG5、UTF8 提供TCP/IP、ODBC和JDBC等多種資料庫連線途徑 提供用於管理、檢查、優化資料庫操作的管理工具 大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫 支援多種儲存引擎 MySQL 軟體採用了雙授權政策,它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫 MySQL使用標準的SQL資料語言形式 Mysql是可以定製的,採用了GPL協議,你可以修改原始碼來開發自己的Mysql系統 線上DDL更改功能 複製全域性事務標識 複製無崩潰從機 複製多執行緒從機
開源 免費 不要錢 使用範圍廣,跨平臺支援性好,提供了多種語言呼叫的 API 是學習資料庫開發的首選