.frm: 儲存表的結構
.MYD: 儲存資料,MYDA他的縮寫
.MYI: 儲存索引,MYIndex的縮寫
. frm 儲存表結構
.ibd 表空間(儲存資料和索引)
1.應用程式連線伺服器的方式
動態sql:通過函式或方法與資料庫服務建立連線,然後通過協議將語句傳送到服務端
嵌入式sql:通過api直接連線到伺服器
–protocol=tcp|socket|pipe|memory (如果客戶端服務端不在同一個機器上必須使用tcp,在同一個機器上uninx可以使用socket,windows可以使用pipe|memory)
啟動mysql時實際用的是mysql_safe(以安全執行緒方式啟動mysql)
mysql啟動時會在多個地方找配置檔案
/etc/my.cnf ––> /etc/myql/my.cnf ––> 安裝目錄下的/my.cnf ––> –defaults-extra-file=檔案(指定配置檔案) ––> 使用者家目錄下的/my.cnf 如果找到多個配置檔案,最後找到的是最終生效的
<— 檢視mysql的配置檔案的啟動或者說是讀取順序
mysqld –verbose –help | grep -A 1 `Default options`
—>
#mysqld –help -verbose 檢視mysqld 預設的引數
mysql.cnf配置檔案中
[mysqld] 只對mysqld生效
[client] 對所有客戶端生效
[mysql] 只對mysql生效
sql模型,mysql不同的處理處理機制:
ANSI QUOTES : 雙引號””和反撇號“是相同的只能引用欄位名,表名。單引號“只能引用字串
IGNORE_SPACE : 在內建的函式中忽略多餘的空白字元
STRICT_ALL_TABLES : 只要違反了資料規則都不允許,而且會返回錯誤
STRICT_TARNS_TABLES :向一個支援事物的表插入非法資料時是不允許的,而且會返回一個錯誤
mysql伺服器變數
作用域劃分:
全域性變數:檢視全域性變數 show global variables
會話變數:檢視會話變數 show [session] variables ,
會話一終止會話變數就失效了(簡單的說會話變數作用當前會話,全域性變數作用於所有會話),當會話變數和全域性變數衝突時,會話變數覆蓋全域性變數
生效時間:
動態:立即生效,重啟失效, 修改會話變數只對當前會話有效
修改全域性變數,對當前會話無效 <(因為修改的是全域性變數而會話變數還是以前的,當會話變數和全域性變數衝突時,會話變數覆蓋全域性變數)>,只對新建立會話有效
靜態:重啟生效,靜態的引數寫到配置檔案中或通過引數傳遞給mysqld
呼叫伺服器變數(內建變數): @@
呼叫使用者自定義變數: @
顯示變數: select @@global.sql_mode 顯示全域性sql模型
select @@session.sql_mode 顯示會話sql模型
設定變數: set {global|session} 變數名=`value`
show character set ; 檢視mysql支援的字符集
show collaction ; 檢視mysql的排序規則
整型:
型別 佔用位元組 最小值 最大值
TINYINT 1 有符號-128,無符號0 有符號127,無符號255
SMALLINT 2 有符號-32768,無符號0 有符號32767,無符號65535
MEDIUMINT 3 有符號-8388608,無符號0 有符號8388607,無符號1677215
INT和INTEGER 4 有符號-2147483648,無符號0 有符號2147483647,無符號4294967295
BIGINT 8 有符號-9223372036854775808,無符號0 有符號9223372036854775807,無符號18446744073709551615
浮點型:
型別 位元組
FLOAT(g,f) 4 或8
g:表示整體多少個字元
f:表示小數點後多少個字元
DOUBLE 8
說明:當需要精確到小數點後10位以上,使用DOUBLE型別
定點數:
型別 位元組 最小值 最大值
DEC(M,D)和DECIMAL(M,D) M+2
說明:有效取值範圍由M和D確定,浮點型儲存的是近似值,定點數型儲存的是字串
位型別:
型別 位元組 最小值 最大值
BIT(M) 1-8 BIT(1) BIT(64)
說明:位元組數是M,取值範圍為1-8
日期時間型:
型別 位元組 最小值 最大值
DATE 4 1000-01-01 9999-12-31
DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59
TIMESTAMP 4 19700101080001 2038年某個時刻
TIME 3 -835:59:59 838:59:59
YEAR 1 1901 2155
字串型別:
CHAR系列:
型別 位元組描述
CHAR(M) M為0-255的整數 char列的長度被固定為建立表時所宣告的長度
VARCHAR(M) M為0-65535的整數 VARCHAR列值長度可變 如果長度小於255,需要多佔據一個字元作為結束符,如果超過255個字元需要佔據兩個字元作為結束符
TEXT型別:
型別 位元組 描述
TINYTEXT 0-255 值的長度為+2個位元組
TEXT 0-65535 值的長度為+2個位元組
MEDIUMTEXT 0-167772150 值的長度為+3個位元組
LOANGTEXT 0-4294967295 值的長度為+4個位元組
說明:用於儲存大量字串
BINARY系列:
型別 位元組描述
BINARY(M) 允許長度為0-M
VARBINARY(M) 允許長度為0-M
說明:儲存二進位制資料,VARBINARY長度可變
BLOB系列:
型別 位元組
TINYBLOB 0-255
BLOB 0-2^16
MEDIUBLOB 0-2^24
LOANGBLOB 0-2^32
說明:儲存大量的二進位制資料
Enum(“value1″,”value2”,….) 最大值65535 該型別的列只可以容納所列值之一或為空
Set(“value1″,”value2”,….) 最大值64 該型別的列可以容納一組值或為空