1. 程式人生 > >MySQL基礎1

MySQL基礎1

外鍵 技術分享 double 最大 src 刪除數據庫 char 軟件 row

術語:

數據庫:按照數據結構來組織,存儲和管理的數據倉庫

數據庫管理系統DBMS:是一種操縱和管理數據庫的大型軟件,用於建立,使用和維護數據庫

結構化查詢語言SQL:功能包括查詢,操縱,定義和控制,是一個綜合的,通用的關系型數據庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什麽而不需要指出怎麽做

RDBMS(關系型數據庫管理系統)術語:

表:具有固定的列數和任意的行數

數據庫:是一些關聯表的集合

列:一個數據項field字段

行:一條記錄row

主鍵:主鍵是唯一的,一個數據表中只能包含一個主鍵,可以使用主鍵來查詢數據

外鍵:用於關聯兩個表

索引:使用索引可快速訪問數據庫表中的特定信息,索引是對數據庫表中一列或多列的值進行排序的結果,類似書籍的目錄

常用數據庫命令:

命令行進入數據庫:mysql -u 用戶名 -p

mysql -u root -p

創建數據庫:create database 數據庫名稱;

creat database test;

刪除數據庫:drop database 數據庫名稱;

drop database test;

查看數據庫:show databases;

show databases;

使用數據庫:use 數據庫名稱;

use test;

查看數據庫當中有多少張表:show tables;

show tables;

(先查看數據庫,再使用數據庫,再查有多少張表)

MySQL存儲引擎:

數據庫對象:存儲,管理和使用數據的不同結構形式,如表,視圖,存儲過程,函數,觸發器,事件等

數據庫:存儲數據庫對象的容器

存儲引擎:MySQL數據庫用各種不同的技術存儲在文件(或內存)中,每一種技術都使用不同的存儲機制,索引技巧,鎖定水平並且最終提供廣泛的不同的功能和能力,通過選擇不同的技術,能夠獲得額外的速度或者功能,從而改善你的應用的整體功能.不同的存儲引擎性能是不一樣的

事務:作為單個邏輯工作單元執行的一系列操作,要麽全部執行,要麽全部不執行.比如轉賬

存儲引擎分類:

MYISAM:不支持事務也不支持外鍵,尤其是訪問速度快對事務完整性沒有要求或者以SELECT,INSERT為主的應用基本都可以使用這個引擎來創建表,每個MYISAM在磁盤上存儲3個文件,其中文件名和表名都相同,但是擴展名分別為.frm(存儲表定義), MYD(MYData,存儲數據),MYI(MYIndex,存儲索引)

INNODB:提供了具有提交,回滾和奔潰恢復能力的事務安全,但是對比MYSIAM的存儲引擎,INNODB處理的效率差些並且會占用更多的磁盤空間以保留數據和索引

MERORY:使用存在內存中的內容來創建表,每個MERORY表實際對應一個磁盤文件,格式是.frm,MERORY類型的表訪問的非常快,因為它的數據是放在內存中的,並且默認使用HASH索引,但是一旦服務器關閉,表中的數據就會丟失,但表還會繼續存在

MySQL數據庫分為兩種:

系統數據庫(數據庫服務器自帶的4個):

information_schema:存儲數據庫對象信息,如用戶表信息,列信息,根除,字符,分區裏面的內容我們不能動

performance_schema:存儲數據庫服務器性能參數信息

mysql:存儲數據庫用戶權限信息

sys:通過這個庫可以快速的了解系統的元數據信息,這個庫是通過視圖的形式把information_schema和performance_schema結合起來,查詢出更加容易理解的數據

SQL功能分類:

DDL:數據定義語言, 用來定義數據庫對象:創建庫,表,列等

DML:數據操作語言,用來操作數據庫表中的記錄

DQL:數據查詢語言,用來查詢數據

DCL:數據控制語言,用來定義訪問權限和安全級別

SQL數據類型:

數值類型:

技術分享圖片技術分享圖片

字符串類型:

技術分享圖片

日期和時間類型:

技術分享圖片

常用數據類型:

double:浮點型,例如double(5,2)表示最多5位,其中必須有2位小數,即最大值為999.99

char:固定長度字符串類型; char(10) ‘abc ‘

varchar:可變長度字符串類型;varchar(10) ‘abc‘

text:字符串類型

blob:二進制類型

date:日期類型,格式為:yyyy-MM-dd

time:時間類型,格式為:hh:mm:ss

datetime:日期時間類型 yyyy-MM-dd hh:mm:ss

MySQL基礎1