当我们要在MySQL数据库中创建一个数据表时,可以使用不同的存储引擎,例如MyISAM和InnoDB。这些存储引擎都有各自的优点和适用场景。下面是MySQL创建数据表时设定引擎MyISAM/InnoDB的完整攻略及示例说明:
引擎介绍
MyISAM引擎
MyISAM引擎是MySQL中默认的引擎,它使用表级锁定,很适合于以读为主的应用,例如博客、新闻网站等。MyISAM引擎不支持事务、数据行锁定等高级功能,但它的查询速度非常快,因此值得选用。
InnoDB引擎
InnoDB引擎是MySQL中另一种主流的存储引擎,它使用行级锁定,长期以来是MySQL事务处理及并发请求处理的首选引擎。它支持事务、行级锁定、崩溃恢复等高级功能,适合用于对数据的一致性和可靠性要求较高,并且面对高并发、大数据量访问的应用。
设定引擎
创建表时设定引擎
在创建数据表时,可以指定使用哪种存储引擎。例如,以下的SQL语句可以创建一个名为“user”的数据表,并使用MyISAM存储引擎:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
如果要使用InnoDB存储引擎,只需要将语句中的ENGINE参数改为InnoDB即可:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
修改表时设定引擎
如果已经创建了一个表,想要修改该表所使用的存储引擎,可以使用以下的SQL语句:
ALTER TABLE `user` ENGINE=InnoDB;
这条语句将表“user”的存储引擎从MyISAM修改为InnoDB。
示例
示例1:选择MyISAM引擎创建数据表
假设要创建一个名为“book”的数据表,存储一些书籍信息,可以指定使用MyISAM引擎。以下是相应的SQL语句:
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL DEFAULT '',
`author` varchar(50) NOT NULL DEFAULT '',
`publisher` varchar(50) NOT NULL DEFAULT '',
`price` decimal(10,2) NOT NULL DEFAULT 0.00,
`summary` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
示例2:选择InnoDB引擎创建数据表
假设要创建一个名为“order”的数据表,存储一些订单信息,可以指定使用InnoDB引擎。以下是相应的SQL语句:
CREATE TABLE `order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`product_id` int(11) NOT NULL,
`quantity` int(11) NOT NULL DEFAULT 1,
`amount` decimal(10,2) NOT NULL DEFAULT 0.00,
`order_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上就是MySQL创建数据表时设定引擎MyISAM/InnoDB的完整攻略及示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL创建数据表时设定引擎MyISAM/InnoDB操作 - Python技术站