数据库存储引擎的特点:
存储引擎:就是如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方法。
关系库中的数据的存储以表的形式存储,所以存储引擎也可以称为表类型(即存储和操作此表类型)。
Oracle 和SQL Server等数据库只有一种存储引擎,所有数据存储管理机制都是一样的。
mysql数据库提供多种存储引擎。
## mysql
show engines\G # 查看所有支持的存储引擎
show variables like 'storage_engine'; # 查看正在使用的存储引擎
结果如下:不同的应用软件处理不同类型的数据。
我们主要了解一下四种存储引擎:
1.innodb:支持事务,其设计目标主要面向联机事务处理OLTP的应用。特点是行锁表锁设计,支持外键,并支持类似Oracle的非锁定读,即默认读取操作不会产生锁。较my'isam数据更安全
2.MyISAM:不支持事物和表锁设计,支持全文索引,主要面向一些OLAP数据库。相比innodb'更注重性能,查询速度快。
3.Memory:内存引擎,将所有数据放入内存中,一旦断电数据全部消失。
4.blackhole:一切存入的数据消失,应用于主备复制中的分发库。
数据库的增删查改:
库的操作:
# 增
create database db1 charset utf8;
# 查
show databases();
show create database db1;
# 改
alter database db1 charset gbk;
# 删
drop db1
表的操作:
use db1; # 切换到db1这个数据库下
# 增
create table t1(id int(3),name char(16));
# 查
show tables;
show create table t1;
describe t1;
desc t1;
# 改
alter table t1 modify name char(6); # 可以更改类型
alter table t1 change name user char(6); # 可以更改字段名
# 删
drop table t1;
记录操作:
# 增:
insert into t1 values(1, 'rain'),(2, 'cloud'),(3, 'sun');
# 查
select * from t1
# 改
update t1 set name = 'rainF' where name ='rain';
# 删
delete from t1 where id = 2;