MySQL資料類型及sql模型

來源:互聯網
上載者:User

標籤:資料庫服務   設定檔   程式語言   伺服器   嵌入式   

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模型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.