1.1-認識MySQL
-
什么是數據庫?
- 計算機處理和存儲的一切信息都是數據。
- 數據庫是計算機系統中一種用于存取數據的程序。
- 為什么要使用數據庫?
數據庫幫助我們解決以下數據存取難題:- 較大數據量
- 網絡訪問
- 并發訪問
- 高性能要求
- 事務控制
- 持久化和數據安全
- 查詢數據需求邏輯復雜
- 其他更多問題...
- 數據庫的分類
- 關系型數據庫 ( sql 數據庫)
MySQL、Oracle、SQL Server、PostgreSQL - 非關系型數據庫 ( no-sql 數據庫)
hadoop、mongoDB、redis、Cassandra - 它們都有自己的適用范圍。兩者的區別在于“是否使用SQL語句作為操作的方式和方法”。
- 我們所說的“數據庫”常常指關系型數據庫
- 關系型數據庫 ( sql 數據庫)
-
為什么學習MySQL?
MySQL: The world's most popular open source database !
- 最流行
-
前三強中唯一開源數據庫
-
在互聯網企業中占據絕對主流地位
-
- 開源
- 基于GPL協議開放源代碼
- 社區版本完全免費
-
代碼允許自由地進行修改
- 并不是最先進
- 易于學習
- MySQL具備關系型數據庫核心功能但是特性并不繁多。
- 架構設計上趨于精簡。
- 非常適合新手學習關系型數據庫,入門后可向其他關系型數據庫發展。
-
誰需要學習MySQL?
- 應用開發者
- 基于數據庫開發應用程序的開發者
- 學習目標:能夠利用MySQL開發出性能優異的應用程序,具體如下
- 學習數據類型的正確使用
- 學習如何利用索引優化查詢效率
- 了解分區,讀寫分離等特性
- 了解數據庫事務相關特性
- ...
- DBA
- 管理和維護數據庫服務的運維人員
- 學習目標:為企業提供可靠的數據庫技術保障,具體如下
- 和開發者一樣學習MySQL的使用技巧
- 學習MySQL體系結構知識
- 學習日常運維,性能調優,故障排查等知識
- 學習數據層架構設計,schema優化知識
- ...
-
學習過程
- 入門篇
為今后的學習準備好最基本的環境- 簡單安裝MySQL
- SQL語言基礎和簡單操作
- 進階篇
系統學習MySQL各個方面的應用和管理知識
- 入門篇
1.2-輕松安裝MySQL
MySQL的下載
首先進入MySQL官網的下載頁面 點此鏈接打開下載頁面
點擊"Download"
注:雖然這里顯示的是32位的安裝包,但實際上64位的安裝包也包含在內。
選第二個
選"No thanks, just start my download."
MySQL的安裝與配置
選"Custom"自定義安裝
選定的合適位數后,點中間的綠色小箭頭
點擊右欄"MySQL..."后,會出現右下角的"Advanced Options",點擊可更改安裝路徑
更改前
更改后
類型選"Development Machine",并勾選底部的"Show Advanced Options"
設置完密碼后, 若不添加用戶,則直接點擊"Next",之后不再做更改直至完成安裝
MySQL的啟動和關閉
- 在任務管理器的進程中,若能看到"mysqld",則說明MySQL啟動成功
-
在任務管理器的服務中,右擊"MySQL57"可啟動或停止MySQL服務
MySQL數據庫連接
-
配置環境變量
- 需要配置環境變量,才能在命令行使用"mysql"來啟動MySQL.
- 環境變量的作用:
- 假設我的MySQL應用程序的路徑為"E:\MySQL\MySQL Server 5.6\bin\mysql.exe"。
- 當我想在命令行中打開mysql時,需要輸入"cd E:\MySQL\MySQL Server 5.6\bin",回車后再輸入"mysql -utoot -p"輸入密碼即可連接數據庫,但輸入的路徑太長,麻煩!
- 而配置環境變量正好可以解決這個難題。只需將"E:\MySQL\MySQL Server 5.6\bin"配置到環境變量中,然后在命令行里就可以直接輸入“mysql”來啟動MySQL,再也不需要輸入長長的命令行。
- “環境變量”即“別名”、“存放(命令、程序)的地方”。
-
mysql.exe 安裝路徑的獲取,如E:\Program Files\MySQL\MySQL Server 5.7\bin
mysql.exe 安裝路徑的獲取
控制面板->系統->左上角“高級系統設置”高級->環境變量復制路徑,并在路徑前后加上英文版的分號; 點擊確定完成 -
連接MySQL數據庫
在命令行輸入"mysql -uroot -p" 按回車,輸入密碼后,再按回車
當看到這個界面時,表示連接成功,即可進行增刪改查等操作
輸入"show databases"顯示已存在的數據庫
輸入“create database test;”創建名為"test"的數據庫,輸入"use test;",進入名為"test"的數據庫
1.3-SQL語言入門
-
學習目標
- 認識SQL語言
- 了解SQL語言的大致分類
- 能夠獨立地在數據庫中建表并存取數據
-
關系型數據庫
-
SQL是什么?
- Structured Query Language (結構化查詢語言)
- 是一種特殊目的的編程語言,用于關系型數據庫中的標準數據存取操作
- 與數據庫進行溝通的鑰匙
-
SQL語言與數據庫
- 用SQL創建表,定義表中的字段
- 用SQL向表中增加,刪除,修改記錄
- 用SQL從表中查詢到想要的記錄
- 用SQL操作數據庫的一切...
-
SQL語句的分類
"CREATE TABLE" 創建表
"DROP TABLE" 刪除表
"ALTER TABLE" 修改表
...
常見的SQL語句也就8到9種,但是通過這八九種SQL語句的排列組合,卻可以實現千變萬化的功能,滿足我們實際開發中的絕大數的需要- MySQL中的每張表都是屬于一個database,倘若把每個database比作一個房間,那么,每張表就相當于房間中的一個柜子。
- 常用操作語句
"show databases;" 輸入后,按回車,顯示已存在的databases
-
"create databases test;" 創建名為"test"的database
"use test;" 使用(進入)名為"test"的database
"create table stu..." 創建名為"stu"的表,包含三個屬性id, name, age, 還有一個主鍵(primary key)。每張表都得包含一個主鍵,主鍵用于唯一標識一個字段。例如,"primary key(id)"表示"id"是一個唯一的字段,不可重復,也不能為空
-
"show create table stu;" 查看已經創建好的表"stu"
-
"alter table stu add column gender varchar(20);" 增加字段"gender"
"insert into stu..." 往表中插入一條記錄(如圖中的用戶信息)
-
"select * from stu;" 查看stu表中的所有數據," * "匹配所有字段,若只想查詢用戶姓名,則輸入"select name from stu;"