資料庫基本概念
資料庫是什麼
儲存資料的倉庫
1.列表 字典....等等 都是記憶體中的 缺點:斷電丟失 優點:速度快
2.檔案儲存 缺點:速度慢 優點:可以實現永久儲存
本質就是一套基於cs結構的 客戶端和伺服器程式,最終的資料儲存在伺服器端的磁碟中
為什麼要使用資料庫
直接使用檔案儲存帶來的問題
1.速度慢
2.我們的程式將來 可能後分布在不同的機器上
單台機器 效能肯定有上限,如果一台機器不能夠滿足,你可以用多個機器共同完成任務
分布式 每個伺服器提供不同的服務,有時候某個業務流程可能會涉及到多個伺服器
優點: 耦合度降低 易維護,缺點:通訊繁瑣,容災性沒有集群好
集群 所有伺服器提供的服務是一模一樣的, 其優點:容災性強,易擴充套件 可插拔
問題:資料分布在不同機器上 如何訪問? 通過網路 訪問
使用者許可權管理
多個客戶端併發訪問 資料要保證安全
資料庫的分類
分為1.關係型資料庫
資料之間可以村存在關聯關係 資料庫會幫我們維護這種關係
通常儲存介質都是磁碟
常見的關係型:
mysql
是我們學習的重點: 是目前最流行的關係型資料庫,因為其免費開源,效能不錯
目前已經被oracle收購了, 適用於中小型企業
sqlserver
是微軟推出的, 因為其只能執行在windows平台所以發展不咋地
oracle sun
目前最強大的關係型資料庫,主要是在集群,和使用者管理上,非常適合大型企業
db2ibm的產品,主要面向企業級使用者,不差錢的使用者 **硬體銷售
2.非關係型資料庫
沒有能幫我們維護資料之間的關係,
通常儲存介質都是記憶體
常見的非關係型:
mongodb
redis
memcache
資料庫重要概念
資料(column) 檔案中的某個字串
記錄(row)檔案中的某一行
表(table)某個檔案
庫(database)就是乙個資料夾
dbms 資料庫管理系統 (指的就是資料庫軟體)
資料庫伺服器執行dbms的計算機
安裝資料庫
採用壓縮包的方式來安裝,解壓到本地即可
bin 儲存所有執行檔案
data 儲存資料的位置
簡單的使用步驟:
bin下有 mysqld.exe 是伺服器端程式 mysql.exe是客戶端程式
需要先執行mysqld.exe
執行客戶端時,如果直接雙擊執行進入遊客模式
正確的執行方式 是在終端裡指定 使用者名稱密碼等引數
常見的引數 -h 主機名稱 如果是本機 可以忽略
-p 指定埠 預設3306 可以不寫
-u 指定使用者名稱
-p 指定密碼
新增環境變數
註冊系統服務
註冊 mysqld --install
刪除 sc delete mysql (注意 是服務名稱不是檔名稱)
啟動服務 net start mysql;
停止 服務 net stop mysql;
查詢某個程序
tasklist | findstr mysqld
殺死程序
taskkill /f /pid 111111
mysql 5.6管理員密碼的設定
1.知道原始密碼
1.1登入到mysql 執行更新語句來修改
update user set password = password("123") where host="localhost" and user="root";
重新整理全新 flush privileges; 或者重啟mysqld
2.2 mysqladmin小工具
mysqladmin -uroot -p123 password 321
-p是原始密碼
2.不知道原始密碼
2.1刪除許可權相關的檔案 (容易挨打)
2.2 跳過授權表
手動啟動mysqld 指定引數
mysqld --skip-grant-tables
update user set password = password("111") where host="localhost" and user="root";
重啟mysqld 即可
簡單的使用
資料必須找個檔案存起來 也就是表 , 表必須存在於庫中也就是資料夾
第一步應該建立資料庫 建立表
庫的操作
#切換資料庫
use 資料庫名稱 可以不加分號
#檢視所有資料庫
show databases;
show create databases; #檢視資料庫詳細資訊
#建立新的資料庫
create database 資料庫名稱;
create database 資料庫名稱 charset utf8; # 指定編碼方式
# 刪除資料庫
drop database 資料庫名稱;
#修改資料庫編碼 可以進入到資料庫資料夾中修改db.opt
#第一行是編碼 第二行是排序規則 自己搜尋乙個
#修改資料庫名 可以直接修改對應的資料夾名稱
命名規範:
1.不區分大小寫
2.不要使用關鍵字 例如create select 等.....
3.不能使用純數字
4.可以下滑線 通常字元下滑線數字的組合
表的操作
#建立表
create table 表名稱(列名稱 列的資料型別,列名稱2 型別2,....) charset gbk;
# 指定編碼
create table 表名稱(列名稱 列的資料型別,列名稱2 型別2,....) charset gbk;
#檢視當前庫下所有表
show tables;
#檢視表結構
desc 表名稱;
#檢視表的建立語句
show create table 表名稱;
# 刪除表
drop table 名稱;
# 清空表資料 重建表
truncate table 名稱;
# 修改表結構
# 新增字段
alter table 表名 add 列名稱 資料型別;
# 刪除字段
alter table 表名 drop 列名稱;
# 修改資料型別
alter table 表名 modify 列名稱 新的資料型別;
# 修改列名
alter table 表名 change 舊的列名 新的列名稱 新的型別;
# 修改表的名稱
rename table 舊名稱 to 新名稱;
# 修改編碼
alter table 表名 charset utf8;
mysql版本公升級命令 mysql版本公升級
版本公升級 mysql版本很多,有5.5,5.6,5.7都可能,有時候我們的目的是公升級資料庫版本.公升級的方法有兩種,第一種就是用mysqldump方式來操作,因為匯出來就是sql語句,所以直接導進去新庫就是公升級了。例如 在舊庫匯出 mysqldump uroot p h10.0.2.4 p33...
mysql版本工具 MySQL版本與工具
mysql各個版本區別 1.mysql community server 社群版本,開源免費,但不提供官方技術支援。2.mysql enterprise edition 企業版本,需付費,可以試用30天。3.mysql cluster 集群版,開源免費。可將幾個mysql server封裝成乙個se...
公升級mysql版本 mysql版本手動公升級
步驟 0x00 備份原來 phpstudy 中 mysql 安裝目錄 0x01 basedir d phpstudy mysql datadir d phpstudy mysql data 0x02 把 mysql 安裝路徑新增至系統環境變數 過程 計算機 系統屬性 高階系統配置 環境變數 選擇pa...