安裝過程記錄:mysql
數據庫:databaselinux
數據庫系統:DBS(Database System):是一種虛擬系統,見多種內容關聯起來的稱呼sql
DBS = DBMS+DB數據庫
DBMS:Database Management System,數據庫管理系統,專門管理數據庫windows
DBA:Database Administrator,數據庫管理員centos
行/記錄:row/record,本質是一個東西:都是指表中的一行(一條記錄):行是從結構角度出發,記錄是從數據角度出發。服務器
列/字段:column/field,本質是一個東西併發
SQLui
SQL:Structured Query Language,結構化查詢語言(數據以查詢爲主:99%是在進行查詢操做)編碼
SQL分爲三部分
DDL:Data Definition Language,數據定義語言,用來維護存儲數據的結構(數據庫,表),表明指令:create,drop,alter等
DML:Data Manipulation Language,數據操做語言,用來對數據進行操做(數據表中的內容),表明指令:insert,delete,update等:其中DML內部又單獨進行了一個分類:DQL(Data Query Language:數據查詢語言,如select)
DCL:Data Control Language,數據控制語言,主要是負責權限管理(用戶),表明指令:grant,revoke等
SQL是關係型數據庫的操做指令,SQL是一種約束,但不強制(相似W3C):不一樣的數據庫產品(如Oracle,mysql)可能內部會有一些細微的區別。
MySQL數據庫是一種c/s結構的軟件:客戶端。服務端若想訪問服務器必須經過客戶端(服務器一直運行,客戶端都在須要使用時運行)。
一、客戶單鏈接認證:鏈接服務器,認證身份:mysql.exe-hPup
windows操做:mysql.exe -hlocalhost -P3306 -uroot -p
linux操做:
二、客戶端發送SQL指令
三、服務器接收SQL指令:處理SQL指令:返回操做結果
四、客戶端接收結果:顯示結果
windows操做:show databases
linux操做:
五、斷開鏈接(釋放資源:服務器併發限制):exit/quit/\q
服務器是C語言編譯好的結果,沒法進行反編譯,因此,沒法徹底瞭解服務器內部的內容:只能粗略的去分析數據庫服務器的內部結構。
將mysql服務器內部對象分紅了四層:系統(DBMS)->數據庫(DB)->數據表(Table)->字段(field)
將SQL的基本操做根據操做對象進行分類,分爲三類:庫操做,表操做(字段),數據操做
對數據庫的增刪改查。
基本語法
Create database 數據庫名字 [庫選項];
庫選項:用來約束數據庫,分爲兩個選項
字符集設定:charset/character set 具體字符集(數據存儲的編碼格式):經常使用字符集:GBK和UTF8
校對集設定:collate 具體校對集(數據比較的規則)
"""
mysql> -- 雙中下劃線+空格:註釋(單行註釋),也可使用#號
mysql> -- 建立數據庫
mysql> create database mydatabase charset utf8;
Query OK, 1 row affected(0.01 sec)
"""
其中:數據庫名字不能用關鍵字(已經被使用的字符)或者保留字(未來可能會用到的)
若是非要使用關鍵字或者保留字,那麼必須使用反引號(esc鍵下面的鍵在英文狀態下的輸出:`)
中文數據庫是能夠的,可是有前提條件:保證服務器可以識別(不建議使用)
解決方案:
mysql> set names gbk
mysql> create database 中國 charset utf8;
1. 在數據庫系統中,增長了對應的數據庫信息
2.會在保存數據的文件夾下:Data目錄,建立一個對應數據庫名字的文件夾(中文名稱的數據庫名稱顯示並非中文,是特殊的編碼)
3.每一個數據庫下都有一個opt文件:保存了庫選項