mysql學習筆記 第四天

來源:互聯網
上載者:User

標籤:style   color   使用   io   strong   資料   for   ar   

mysql引擎:
  archive(檔案)[資料插入以後不能被修改,唯讀]
  blackhole[這種寫操作是刪除資料,讀操作是返回空白記錄]
  CSV[在儲存資料時以逗號作為資料項目之間的分隔字元]
  example[樣本(存根)儲存引擎]
  Falcon[用來進行處理事務的儲存類型]
  federated[用來訪問遠端資料表的儲存引擎]
  InnoDB[具備外鍵支援功能的交易處理引擎]
  memory[記憶體裡的資料表]
  merge[用來管理多個MyISAM資料表構成的資料表集合(merg-myisam)]
  myisam預設的儲存類型
  NDB[mysql clustor 專用引擎]

 

第二部分:
  no_engine_substitution設定不用預設的引擎(當建立資料表類型時不成功)
  使用default-storage-engine啟動伺服器,使用一種預設的儲存引擎
  show create table table_name=select condition from information_schema.tables[查看預設引擎]
  使用min-Rows=n對memory引擎的最佳化
  eg:
    create table table_name{...}engine=memory min-rows=100;
  使用max-rows和avg-row-length控制myisam的大小
  改變資料表的引擎:alter table table_name type[engine]=type_name
  對於建立表格時使用if not exist可以檢查是否具有相同的表格,但具有一定的風險,使用drop table if exist再執行create table

暫存資料表:
  建立暫存資料表格:create temporary table table_name (也支援各種引擎),暫時性表的生命週期一般是在伺服器停止暫存資料表類型
      可以和永久性表格同名,但是永久性表格會暫時性的失效,直到暫時性表失去效果。

使用like和select從其他資料表中建立新的資料表
  create table table_name like _table_name,這樣建立的新資料表具有相同的類型,索引,順序,
  insert into table_name select ...[select 後插入的是表資料或者其他資料],可以使用這個方法建立
  一個臨時性的副本:temporary
  向副本中插入其他表資料eg:insert into new_table_name select * from table_name[where...];
  使用create table table_name select 將上面兩種類型一步到位,但是這種情況的資料可能對視索引或者可能失去資料屬性
  但是其中可以使用cast()強制類型.
  在create table 部分提供明確定義,之後再select 部分使用那些定義檢索:
  create table mytd1(i int unsigned,t time,d decmal(10,5))
  select i as i,cast(curtime() as time) as t,-----------------(這段話沒看懂意思==。)
  ps:select 字句選擇填入資料要求。

merge資料表:
  merge將myisam當做一個串連單元來處理,構成一個merge資料表的各個成員具有相同的順序,資料類型,索引等,
  eg:
    create table log_ccyy
    ( dt datetime not null,
     info varchar(100) not null,
     index(dt)
    );
    ccyy是年份的意思,假設建立log_2010,log_2011,以後在建立一個merge類型的:
    create table log_merge
    (dt datetime notnull,
    info varchar(100) not null
    index(dt)

    )engine=merge union=(log_2010,log_2011)
    [insert_method=[no\first\last]];
    在建立新的merge單元的時候(myisam表類型),插入的位置first或者last或者no不允許插入新的資料表
    log_merge中加入資料表log_2012:
              alter table log_merge=(log_2010,log_2011,log_2012)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.