Linux命令:MySQL系列之三--mysql資料類型及SQL結構化查詢語句使用

來源:互聯網
上載者:User

標籤:mysql資料類型 sql 結構化 查詢語句


MySQL 儲存引擎,也被稱為表類型:

   MyISAM表:無交易處理功能,支援表鎖

     .frm:表結構定義檔案

     .MYD:表資料檔案

     .MYI:表索引檔案

   InnoDB表:支援交易處理功能,支援行鎖

     .frm:表結構定義檔案

     .ibd:資料表空間(包含資料和索引檔案)


MySQL常用的查詢命令:

    SHOW ENGINES;  #查看資料庫支援的引擎及狀態。

    SHOW TABLE STATUS LIKE ‘user‘ \G  #查看錶user的屬性資訊,\G豎排顯示

    mysqld --help --verbose  #查看mysql支援的各種相關指令

     SHOW CHARACTER SET;    #顯示所有支援的字元集

     SHOW COLLATION ;      #顯示各個字元集下的定序


程式語言串連資料的方式:

    動態SQL:通過函數或方法與資料庫服務建立串連,

    嵌入式SQL:


MySQL工具:

用戶端工具:mysql(登入工具),mysqladmin(管理工具),mysqldump(備份工具),mysqlimport,mysqlcheck

伺服器端工具:mysqld(啟動進程),mysqld_safe(安全線程),mysqld_multi(支援多執行個體)


MySQL設定檔:my.cnf

設定檔啟動順序為,/etc/my.cnf -->/etc/mysql/my.cnf -->$MYSQL_HOME/my.cnf -->

--default-extra-file=/path/to/somefile -->~/.my.cnf


MySQL啟動失敗的原因大致有:

    1、此前mysql服務未關閉

    2、資料初始化失敗

    3、資料目錄位置錯誤    

    4、資料目錄許可權問題


DBA的工作內容:

    開發DBA:資料庫設計,SQL語句,預存程序,儲存函數,觸發器

    管理DBA:安裝,升級,備份,恢複,使用者管理,許可權管理,監控,效能分析,基準測試


MySQL資料類型:

    數值型:

        精確數值型:int(整數型) decimal(十進位型)

        近似數值型:float(單精確度浮點型) double(雙精確度浮點型) real(實數型)

    字元型:

        定長字元型:CHAR(NUM),BINARY(區分大小寫)  最長不超過255個字元

        變長字元型:VARCHAR(NUM),VARBINARY(區分大小寫) 最長不超過65535

        ENUM枚舉型:ENUM(‘A‘,‘BB‘,‘CC‘,‘DD‘)使用者只能在列舉中選擇一個

        SET枚舉字串型

    日期時間型:

        date日期,time時間,datetime日期時間,timestamp時間戳記,year年


資料類型需具備以下幾點:   

    1、存入的實值型別

    2、佔據的儲存空間

    3、是變長還是定長

    4、如何比較及排序

    5、是否能夠索引


 AUTO_INCREMENT 自動成長類型,需滿足幾點:必須為整型,非空,元符號,主鍵或唯一鍵

Usage: CREATE TABLE test(ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,Name CHAR(20))

   建立一個test表,包含2個欄位ID和Name,ID欄位的修飾符必須是INT(整型),UNSIGNED(無符號的)

   AUTO_INCREMENT(自動成長),NOT NULL(非空的),PRIMARY KEY(主鍵)。

   Name欄位類型為CHAR(20)(定長字元型長度為20).

 mysql> SELECT LAST_INSERT_ID();


MySQL伺服器變數:

   按範圍,分兩類:

       全域變數

         SHOW GLOBAL VARIABLES LIKE ‘ ‘; 查看全域變數

       會話變數

         SHOW [SESSION] VARIABLES LIKE ‘ ‘; 查看會話變數

   按生效時間,分兩類:

       可動態調整的變數:可即時修改

       靜態變數:

            寫在設定檔中,通過參數傳遞給mysqld

     動態調整參數的生效方式:

       全域變數:對當前會話無效,只對建立立會話有效;

       會話變數:即時生效,但只對當前會話有效;


   伺服器變數:@@變數名

        顯示:SELECT

        設定:SET GLOBAL|SESSION 變數名=‘value‘


mysql> SET GLOBAL sql_mode=‘strict_all_tables‘; #設定sql_mode的值為strict_all_tables

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@global.sql_mode;  #查看sql_mode的全域變數

+-------------------+

| @@global.sql_mode |

+-------------------+

| STRICT_ALL_TABLES |

+-------------------+

1 row in set (0.00 sec)

mysql> SELECT @@sql_mode;  #查看sql_mode的會話變數

+------------+

| @@sql_mode |

+------------+

|            |

+------------+

1 row in set (0.00 sec)

  













本文出自 “學linux曆程” 部落格,請務必保留此出處http://woyaoxuelinux.blog.51cto.com/5663865/1918247

Linux命令:MySQL系列之三--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.