什麼是數據(Data)html
數據就是描述事物的符號記錄,描述事物的符號能夠是數字,文字,圖片等,在計算機中要描述一個事物,就要抽取事物的特徵,組成一條條記錄.mysql
什麼是數據庫(DataBase,簡稱DB)linux
數據庫就是存放數據的倉庫,只不過如今這個倉庫是在計算機存儲設備上,按照必定的格式存放ios
數據庫中的數據具備較小的冗餘度,較高的數據獨立性和易擴展線sql
什麼是數據庫管理系統(Database Management System,簡稱DBMS)數據庫
數據庫管理系統就是管理數據和數據庫的應用程序windows
數據庫管理數據庫分爲兩類:安全
關係型數據庫架構
數據和數據之間是有關聯和限制的socket
關係型數據庫一般就是表結構,因此咱們在使用這一類數據庫時第一步須要肯定表的結構
常見的關係型數據庫有:MySQL,Oracle,sqlite,db2,sql server
非關係型數據庫
一般都是以k,v鍵值的形式存儲數據
常見的有:Redis,MongoDB(文檔型數據庫,很是接近關係型的非關係型數據庫),memcache
注意:在咱們Python的開發中,最常使用的是MySQL數據庫
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS(Relational Database Management System,關係數據庫管理系統) 應用軟件。
MySQL數據庫內的數據內容分類
首先一個數據庫由不一樣大小的庫組成,一個庫又由不一樣大小的表組成,一個表由不一樣大小的記錄組成
咱們能夠將數據庫類比成計算機內部的文件系統 庫 >>> 文件夾 表 >>> 文件 記錄 >>> 文件內一行行的數據叫作一條條的記錄 表頭:表格的第一行數據 字段:字段名+字段類型
mysql爲咱們提供開源的安裝在各個操做系統上的安裝包,包括ios,linux,windows。
mysql的安裝、啓動和基礎配置 —— linux版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)
mysql的安裝、啓動和基礎配置 —— mac版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)
mysql的安裝、啓動和基礎配置 —— windows版本 (https://www.cnblogs.com/Eva-J/articles/9669675.html)
MySQL也是一個基於socket通訊的c/s架構的軟件,因此他也具備服務端和客戶端,服務端的啓動程序是bin文件夾下的mysqld,客戶端的啓動程序是bin文件夾下的mysql
在運行MySQL前最好將bin目錄添加到系統環境變量下,這樣咱們能夠直接打開程序
首先咱們使用管理員身份打開cmd終端
服務端的打開:直接輸入mysqld
客戶端的打開:重開一個cmd終端窗口,輸入mysql -h 127.0.0.1 -p 3306 -uroot -p,若是是本機IP和端口號可省略
客戶端的退出:exit或者quit
查看全部的數據庫:show databases
查看某個進程:退出數據庫以後在終端輸入tasklist |findstr +名稱
殺死某個進程:taskkill /F /PID+進程號
注意:1.MySQL在初始登陸的時候是沒有密碼的,直接回車便可,
2.MySQL中的sql語句,是以分號結束的,不敲分號默認沒有輸完,客戶端還會繼續讓咱們輸入
製做環境變量
將啓動文件所在的路徑添加到系統的環境變量中
注意:配置完以後一段要從新啓動mysql服務端及cmd終端
將mysqld製做成系統服務
製做系統服務 你的cmd終端必定要是管理員身份
mysqld --install
修改密碼
沒有密碼的狀況下
mysqladmin -uroot -p password 123
有密碼的狀況下
mysqladmin -uroot -p123 password 123456
當命令輸入錯誤的時候 能夠用\c取消前面的命令 cancel
破解密碼
先將已經啓動的服務端停掉
1.跳過用戶名和密碼的驗證功能 啓動服務端
mysqld --skip-grant-tables 啓動服務端 跳過受權表
2.修改管理員用戶對應的密碼
update mysql.user set password=password(123) where user='root' and host='localhost';
3.關閉當前服務端 從新以校驗用戶名密碼的方式啓動
4.正常以用戶名密碼的方式 鏈接mysql服務端
配置文件
\s查看 mysql服務端簡單配置
一般狀況下配置文件的後綴都是ini結尾
mysql自帶的配置文件不要修改
可是你能夠新建一個配置文件 my.ini
mysql服務端在啓動就會自動加載你的my.ini配置文件內的配置
修改完配置文件以後須要先將服務端中止 從新啓動 才能生效
修改了配置文件必定要重啓服務端
1. 操做文件夾(庫) 增:create database db1 charset utf8; 查:show databases; 查全部
show create database db1; 查單個 改:alter database db1 charset latin1; 修改編碼 刪除: drop database db1; 刪庫 2. 操做文件(表) 先切換到文件夾下:use db1; 指定庫
select database(); 查看當前所在的庫 增:create table t1(id int,name char); 查:show tables; 查看某個庫下面的全部的表
show create table t1; 查看單個表的信息
desc t1; 查看錶中的描述信息 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 刪:drop table t1; 3. 操做文件中的內容(記錄) 增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3'); 能夠插入多個 查:select * from t1; 查詢全部的字段信息
select name from t1; 查詢全部字段的指定信息
select name from t1 where id=1; 查詢帶有篩選條件的字段信息 改:update t1 set name='sb' where id=2; 修改數據的一個字段信息,能夠修改多個 刪:delete from t1 where id=1; 刪除指定條件的數據
delete from t1; 刪除表中的全部數據 清空表: delete from t1; #若是有自增id,新增的數據,仍然是以刪除前的最後同樣做爲起始。 truncate table t1;數據量大,刪除速度比上一條快,且直接從零開始, *auto_increment 表示:自增 *primary key 表示:約束(不能重複且不能爲空);加速查找
什麼是存儲引擎
不一樣的數據應該具備不一樣的處理機制
MySQL中的存儲引擎
Innodb:默認的存儲引擎,支持事務,外鍵,行鎖,因此相對來講比較安全.查詢速度較myisam慢,可是更加的安全
myisam:MySQL5.1版本以前的默認存儲引擎,不包括5.1,它是存儲記錄和文件的標準方法,它不是事務安全的,而且不支持外鍵
memory:內存引擎(數據都存放在內存中),斷電或者關閉服務端,數據即消失
blackhole:不管存什麼都立馬消失(黑洞)
各個不一樣的引擎生成的文件區別
Innodb:表t1,生成兩個文件,第一個是表結構文件,第二個是真實數據
myisam:表t2,生成兩個文件,第一個是表結構文件,第二個是真實數據,第三個是表索引
memory:表t3,生成一個文件,只有一個表結構文件,它的真實數據存儲在內存中
blackhole:表t4,生成一個文件,只有一個表結構文件,而且沒有真實數據,存進來什麼立馬消失