📅  最后修改于: 2023-12-03 14:44:31.257000             🧑  作者: Mango
MySQLi 是 MySQL 官方推出的新一代 MySQL 扩展,提供面向对象和面向过程两种 API,支持事务、预处理语句、存储过程等功能,同时还支持多重结果集查询及临时表。其中,临时表是 MySQLi 中的一个非常有用的特性,可以用来存储临时性数据,支持各种查询和操作。
创建临时表的语法和创建普通表类似,只需要在表名前加上 tmp_
前缀,即可创建一个临时表。例如:
CREATE TEMPORARY TABLE tmp_person (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT(11) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
使用临时表和普通表的操作基本相同,包括插入、更新、删除、查询等。例如:
-- 插入数据
INSERT INTO tmp_person (name, age, gender) VALUES ('Tom', 30, 'male');
-- 更新数据
UPDATE tmp_person SET age=35 WHERE name='Tom';
-- 删除数据
DELETE FROM tmp_person WHERE age > 40;
-- 查询数据
SELECT * FROM tmp_person WHERE gender='female' ORDER BY age DESC LIMIT 10;
与普通表相比,临时表的优势在于:
但是,临时表也有一些限制:
MySQLi-临时表是一个非常实用的功能特性,可以在需要存储临时性数据时使用,能够有效地避免多用户间的数据干扰和占用数据库存储空间。在使用临时表时,需要注意其优劣势及限制,谨慎使用,从而提高应用的性能和稳定性。