標籤:資料庫服務 設定檔 程式語言 伺服器 嵌入式
MySQL資料類型及sql模型儲存引擎,也被稱為表類型:MyISAM表: 無事務,表鎖 .frm: 表結構定義檔案 .MYD: 表資料 .MYI: 索引InnoDB表:事務,行鎖 .frm: 表結構 .ibd: 資料表空間(資料和索引) 所有表共用一個資料表空間檔案; 建議:每表一個獨立的資料表空間檔案;(修改設定檔在[mysqld]項下加入innodb_file_per_table = 1)MySQL: 在預設的mysql資料庫中預設的儲存引擎為MyISAM 其他建立的資料庫的儲存引擎取決於預設的儲存引擎設定值 SHOW ENGINES SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE ‘pattern‘ | WHERE expr] 程式語言串連資料的方式: 動態SQL:通過函數或方法與資料庫服務建立串連, 嵌入式SQL: 用戶端組件:mysql、mysqladmin、mysqldump、mysqlimport、mysqlcheck伺服器組件:mysqld, mysqld_safe, mysqld_multi my.cnf/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/somefile --> ~/.my.cnf[mysqld][mysqld_safe][client]host = [mysql]絕大數配置選項都能在命令列下直接指定# mysqld --help --verbose 在指定datadir = /mydata/data後,在指定的目錄下有名為hostname.err: 錯誤記錄檔MySQL啟動失敗的原因:1、此前服務未關閉;2、資料初始化失敗;3、資料目錄位置錯誤;4、資料目錄許可權問題;DBA: 開發DBA:資料庫設計、SQL語句、預存程序、儲存函數、觸發器 管理DBA:安裝、升級、備份、恢複、使用者管理、許可權管理、監控、效能分析、基準測試 資料類型: 數值型 精確數值 int decimal 近似數值 float double real 字元型 定長:CHAR(#)、BINARY 變長:VARCHAR(#)、VARBINARY text, blob ENUM, SET 日期時間型 date, time, datetime, timestamp 資料類型:1、存入的實值型別;2、佔據的儲存空間;3、定長還變長;4、如何比較及排序;5、是否能夠索引;資料類型總結:整型:類型 位元組 最小值 最大值TINYINT 1 有符號-128,無符號0 有符號127,無符號255SMALLINT 2 有符號-32768,無符號0 有符號32767,無符號65535MEDIUMINT 3 有符號-8388608,無符號0 有符號8388607,無符號1677215INT和INTEGER 4 有符號-2147483648,無符號0 有符號2147483647,無符號4294967295BIGINT 8 有符號-9223372036854775808,無符號0 有符號9223372036854775807,無符號18446744073709551615浮點型:類型 位元組 最小值 最大值FLOAT 4 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-31DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59TIMESTAMP 4 19700101080001 2038年某個時刻TIME 3 -835:59:59 838:59:59YEAR 1 1901 2155字串類型:CHAR系列:類型 位元組 描述CHAR(M) M M為0-255的整數VARCHAR(M) M M為0-65535的整數 說明:VARCHAR長度可變TEXT類型:類型 位元組 描述TINYTEXT 0-255 值的長度為+2個位元組TEXT 0-65535 值的長度為+2個位元組MEDIUMTEXT 0-167772150 值的長度為+3個位元組LOANGTEXT 0-4294967295 值的長度為+4個位元組說明:用於儲存大量字串BINARY系列:類型 位元組 描述BINARY(M) M 允許長度為0-MVARBINARY(M) M 允許長度為0-M說明:儲存位元據,VARBINARY長度可變BLOB系列:類型 位元組 TINYBLOB 0-255BLOB 0-2^16 MEDIUBLOB 0-2^24LOANGBLOB 0-2^32說明:儲存大量的位元據mysql> SHOW CHARACTER SET; 查看當前伺服器支援的所有字元集mysql> SHOW COLLATION; 查看當前伺服器支援的所有定序修飾符:AUTO_INCREMENT 自動成長(對於整型)預設從一開始,步長為一。不可為空AUTO_INCREMENT 整型 非空 無符號(只能為正數)UNSIGNED 主鍵或惟一鍵mysql> SELECT LAST_INSERT_ID();顯示上一次自動成長數值SQL模型 常用: ANSI QUOTES -—A double quote (") is now treated as an identifier quote (`). Strings can only be quoted with a single quote (’) IGNORE_SPACE—-This sql_mode allows a space between a built-in function and the open parenthesis STRICT_ALL_TABLES—-When this sql_mode is not set, invalid data values are allowed, usually converted to valid data by using zero values or truncating the value. When this sql_mode is set, invalid data values are rejected, and an error is thrown. STRICT_TRANS_TABLES -- invalid data values in a transactional table are rejected, and an error is thrown TRADITIONAL—-Syntax and behavior closely match traditional expectations 查詢sql模型:mysql>show global variables like ‘sql_mode‘; MySQL伺服器變數 按範圍,分為兩類: 全域變數 SHOW GLOBAL VARIABLES 會話變數 SHOW [SESSION] VARIABLES 按生效時間,分為兩類: 動態:可即時修改 靜態: 寫在設定檔中 通過參數傳遞給mysqld(或mysqld_safe)進程 動態調整參數的生效方式: 全域:對當前會話無效,只對建立立會話有效; 會話:即時生效,但只對當前會話有效; 伺服器變數:@@變數名 顯示:SELECT @@global.sql_mode 設定:SET GLOBAL|SESSION 變數名=‘value‘
本文出自 “繁華落盡” 部落格,請務必保留此出處http://chenxujiang.blog.51cto.com/11737025/1846090
MySQL資料類型及sql模型