python之MySQL的表相關操做

一、存儲引擎mysql

1.什麼是存儲引擎
    就是存儲數據的方式

2.如何查看存儲引擎?
    show engines;

3.都有哪些存儲引擎?
    MyISAM InnoDB MEMORY    主要了解這三個

4.MyISAM InnoDB MEMORY有那些區別
    MyISAM:mysql5.5版本及以前的版本默認引擎
              查詢速度比InnoDB快, 安全性低
                不支持事務
                  表級鎖
    InnoDB:mysql5.6及以後的版本默認引擎
              查詢速度比MyISAM慢, 安全性高
                支持事務
                  行級鎖
                    外鍵
    MEMORY  => 內存,數據是在內存中

5.不一樣的存儲引擎的特色
   MyISAM
        .frm  =>  表結構
        .MYD  =>   表數據
        .MYI  =>   索引(目錄)優勢:查詢速度快

   InnoDB
  	.frm  => 表結構
        .ibd  => 表數據和索引

   MEMORY
        .frm  => 表結構

二、數據類型sql

1.數據類型有哪些?     
    整型:
    	tinyint   smallint  int  bigint
    浮點型
    	float  double  decimal 
    字符串
    	char  varchar
    日期類型
    	datetime   年月日  時分秒
        time		時分秒
        date		年月日
        year		年份

    枚舉和集合
       enum  set 

2.整型
      tinyint smallint int bigint
        他們之間的區別就是存儲數據的範圍不同
            |  列類型     | 存儲空間 |                    取值範圍                       |
            |            |          |   SIGNED               |   UNSIGNED              |
            |  tintint   |   1字節  |  -128~127              |  0~255                  | 
            |  smallint  |   2字節  |  -32768~32767|         |  0~65535                |
            |  mediumint |   3字節  |  -8388608~8388607      |  0~16777215             |
            |  int       |   4字節  |  -2147483648~2147483647|  0~4294967295           |      
                                    |  -9223372036854775808  |  0                      |
            |  bigint    |   8字節  |   ~9223372036854775807 |  ~18446744073709551615  | 

      驗證整型默認是否帶符號
    create table t6 (id tinyint);

        insert into t5 values(-129), (256);
      結論:全部的整型默認都是帶符號的。

3.浮點型
    float double decimal 

      create table t6 (id float(255,30));
      create table t7 (id double(255,30));
      create table t8 (id decimal(60,30));

      insert into t6 values(1.11111111111111111111111111);
      insert into t7 values(1.11111111111111111111111111);
      insert into t8 values(1.11111111111111111111111111);

    精確度不同
      decimal > double > float

    設計表注意:
    一、 表結構中的數據類型
         二、該表中上線以後可能會產生多少數據量?order
相關文章
相關標籤/搜索