常用的储存引擎
Innodb和 MYISAM各自的使用场合如下:
MYISAM存储引擎:该存储引擎不支持事务,也不支持外键约束,访问速度比数据库较快。因此对不需要事务处理,以访问为主的应用适合使用该引擎。
Innodb存储引擎:该存储引擎在事务处理上有优势,即支持具有提交、回滚和崩溃恢复能力的事务控制,所以比MYISAM引擎占用更多的磁盘空间。
因此对需要进行频繁的更新、删除操作,同时还对事务的完整性要求比较高,需要实现并发控制的应用,适合使用该存引擎有储引擎。
操作默认存储引擎
通过以下语句来查看当前默认的存储引擎。
SHOW VARIABLES LIKE 'storage engine%';
如需修改默认存储引擎,可以通过配置向导也可以通过修改配置文件 my ini来实现。修改配置文件 my ini时,只需修改如下内容。
defaulstorage-engine=Innodb
指定表的存储引擎
数据表默认使用当前 MYSQL默认的存储引擎,有时为了达到数据表的特殊功能要求,也可重新设置表的存储类型。语法格式如下。
CREATE TABLE表名(
#省略代码
)ENGINE=存储引擎;
插入数据记录
插入单行数据
语法格式如下。
1)表的字段是可选的,如果省略,则依次插入所有字段。
2)多个列表和多个值之间使用逗号分隔。
3)值列表必须和字段名列表数量相同,且数据类型相符。
4)如果插入的是表中部分列的数据,字段名列表必须填写。
插入多行数据
MYSQL中的 INSERT语句支持一次插入多条记录,插入时可指定多个值列表,每个值列表之间用逗号分隔
语法格式如下。
INSERT INTO新表(字段名列表) VALUES(值列表1),(值列表2),…(值列表n);
更新数据记录
数据更新是经常发生的事情,使用SQL更新表中某行数据的语法格式如下。
UPDATE表名SET列名=更新值[WHERE更新条件]
删除数据记录
1.使用 DELETE删除数据
使用SQL语句删除表中的数据,语法格式如下。
DELETE[FROM]表名[WHERE<删除条件>]
2.使用 TRUNCATE TABLE删除数据
TRUNCATE TABLE用来删除表中的所有行,功能上类似于没有 WHERE子句的DELETE语句。
例如,要删除学生信息表中的所有记录行,可以使用以下语句
TRUNCATE TABLE student
但 TRUNCATE TABLE比 DELETE执行速度快,使用的系统资源和事务日志资源更少,并且删除数据后表的标识列会重新开始编号。