MySQL创建数据表时设定引擎MyISAM/InnoDB操作

当我们要在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技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Ubuntu安装MySQL-python方法

    以下是Ubuntu安装MySQL-python的完整攻略。 安装MySQL-python 在Ubuntu上安装MySQL-python,需要首先安装pip和MySQL开发包。 安装pip Ubuntu 18.04及以上版本,pip已经默认安装。可以通过以下命令确认pip是否已安装: pip –version 如果提示“Command ‘pip’ not f…

    database 2023年5月22日
    00
  • 19年BAT大厂面试总结,这些面试题你都掌握好可以备战 2020年了吗?

    19年BAT大厂面试总结——备战2020 在这篇文章中,我们将为各位求职者提供19年BAT大厂面试总结的完整攻略,让大家能够在即将到来的2020年备战内部页面面试。 一、前言 随着互联网的迅速发展,越来越多的应用场景需要内部页面的开发支持。因此,内部页面的相关知识成为了BAT等大厂的面试重点之一。在这篇文章中,我们将讨论BAT在19年内部页面面试中出现的一些…

    database 2023年5月21日
    00
  • SQL Server统计信息更新时采样百分比对数据预估准确性的影响详解

    SQL Server统计信息更新时采样百分比对数据预估准确性的影响详解 什么是SQL Server统计信息? SQL Server统计信息指的是存储在系统中的数据库对象的统计信息。这些统计信息给查询优化器提供了有关如何访问数据的信息,以便优化查询计划和执行时间。在SQL Server中,查询优化器使用这些统计信息来估算查询中每个操作的代价和行数,以便选择最佳…

    database 2023年5月21日
    00
  • MySQL子查询详细教程

    MySQL子查询详细教程 什么是MySQL子查询? MySQL子查询指的是在一个查询语句中嵌套另一个查询语句的查询方式,也叫做内部查询或者嵌套查询。子查询可以出现在SELECT、FROM、WHERE、IN和HAVING等语句中。 MySQL子查询的语法 SELECT column_name(s) FROM table_name WHERE column_na…

    database 2023年5月22日
    00
  • 批量修改所有服务器的dbmail配置(推荐)

    批量修改所有服务器的dbmail配置是一项重要的操作,可以节省服务器管理员在单独修改每台服务器上配置的时间。以下是标准的markdown格式文本攻略。 批量修改所有服务器的dbmail配置(推荐) 简介 本文将介绍如何通过SSH连接批量修改所有服务器的dbmail配置。在这个过程中,将使用远程命令行和文本编辑工具来修改dbmail配置文件,确保所有服务器都能…

    database 2023年5月22日
    00
  • redis5.0以后版本 搭建集群

    redis5.0以前为什么要用ruby? 因为在redis/src中有一个文件redis-trib.rb,是用Ruby写的,用来搭建redis集群(redis3.0版本时才开始支持集群),所以想要搭建redis集群需要有一个能执行.rb的Ruby运行环境。 同时ruby的运行又依赖redis.gem这个文件。 所以在5.0以前 集群的搭建需要 安装ruby环…

    Redis 2023年4月11日
    00
  • MySQL中建表与常见的类型设计陷阱详解

    MySQL中建表与常见类型设计陷阱是每个开发者都需要掌握的重要技能之一。下面,我将为大家提供完整的攻略。 MySQL中建表的步骤 选择合适的数据库,使用USE命令。 USE database_name; 创建一个新表,使用CREATE TABLE命令。 CREATE TABLE table_name ( column1 datatype constraint…

    database 2023年5月18日
    00
  • mysql修改用户密码的方法和mysql忘记密码的解决方法

    mysql修改用户密码的方法 在 MySQL 中,修改用户密码主要有两种方式:使用 SET PASSWORD 语句和使用 UPDATE 语句。下面分别介绍这两种方式的具体操作步骤。 使用 SET PASSWORD 语句 使用 SET PASSWORD 语句可以修改当前登录用户的密码,语法如下: SET PASSWORD = ‘新密码’; 其中,新密码是要设置…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部