MySQL創(chuàng)建數(shù)據(jù)表時設定引擎MyISAM/InnoDB操作
我在配置mysql時將配置文件中的默認存儲引擎設定為了InnoDB。今天查看了MyISAM與InnoDB的區(qū)別,在該文中的第七條“MyISAM支持GIS數(shù)據(jù),InnoDB不支持。即MyISAM支持以下空間數(shù)據(jù)對象:Point,Line,Polygon,Surface等。”
作為一個地理信息系統(tǒng)專業(yè)的學生(其實是測繪專業(yè))來講,能存儲空間數(shù)據(jù)的數(shù)據(jù)庫才是好數(shù)據(jù)庫,原諒我是數(shù)據(jù)庫小白的身份。
有三種方式可以設定數(shù)據(jù)庫引擎:
(1)修改配置文件
將安裝目錄下~\MySQL\mysql-5.6.31-winx64的my.int配置文件打開,在[mysqld]的后面修改或添加(如果你之前未設置)下列語句:
default-storage-engine=INNODB
而我會自己修改為MyISAM,以后在你創(chuàng)建數(shù)據(jù)表時默認引擎為當前設置。
(2)創(chuàng)建數(shù)據(jù)表時聲明
mysql> create table test( -> id int(10) unsigned not null auto_increment, -> name varchar(10) character set utf8, -> age int(10), -> primary key(id) -> ) -> engine=MyISAM -> ;
上述語句為創(chuàng)建表格的語句,如下圖,沒有什么可說的。
接下來查詢一下,創(chuàng)建的表格的引擎類別。
show create table test;
(3)更改數(shù)據(jù)表的引擎
數(shù)據(jù)表的引擎類型,不是一成不變的,可以通過可視化應用如Navicat for Mysql進行修改,也可以通過命令來修改,下面將剛才新建的test表格引擎修改為InnoDB.
alter table test engine=innodb;
補充知識:MySQL 更改所有表的數(shù)據(jù)引擎,MyISAM 設置為 InnoDB
一、先設置執(zhí)行SQL語句:
SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' ) FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = '數(shù)據(jù)庫' AND TABLE_TYPE = 'BASE TABLE';
把數(shù)據(jù)庫改成你的數(shù)據(jù)庫名字,這里假設我的數(shù)據(jù)庫是database
SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' ) FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = 'database' AND TABLE_TYPE = 'BASE TABLE';
二、得到一段超長的SQL,復制后執(zhí)行這段SQL
三、查看當前數(shù)據(jù)庫的字段存儲信息
SHOW TABLE STATUS FROM database;
結果:
以上這篇MySQL創(chuàng)建數(shù)據(jù)表時設定引擎MyISAM/InnoDB操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MySQL生產(chǎn)庫Insert了2次同樣的記錄但是主鍵ID是不一樣的問題的分析過程
這篇文章主要介紹了MySQL生產(chǎn)庫Insert了2次同樣的記錄但是主鍵ID是不一樣的問題的分析過程,需要的朋友可以參考下2014-02-02MySQL for update鎖表還是鎖行校驗(過程詳解)
在MySQL中,使用for update子句可以對查詢結果集進行行級鎖定,以便在事務中對這些行進行更新或者防止其他事務對這些行進行修改,這篇文章主要介紹了MySQL for update鎖表還是鎖行校驗,需要的朋友可以參考下2024-02-02一文了解MySQL Optimizer Trace的神奇功能
這篇文章主要為大家介紹了一文了解MySQL Optimizer Trace的神奇功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06