MySQL数据库的基本操作及存储引擎的使用
作者:互联网
一、常用的MySQL语句
先来学习一些基本的sql语句来进行操作吧。
经常使用的语句 1.show databases; 查看所有的数据库 2.create database test; 创建一个叫test的数据库 3.drop database test;删除一个叫test的数据库 4.use test;选中库 ,在建表之前必须要选择数据库 5.show tables; 在选中的数据库之中查看所有的表 6.create table 表名 (字段1 类型, 字段2 类型); 7.desc 表名;查看所在的表的字段 8.drop table 表名; 删除表 9.show create database 库名;查看创建库的详细信息 10.show create table 表名; 查看创建表的详细信息
当我们安装 MySQL 8.0 并初始化数据库之后,默认会创建以下系统数据库: 查询Mysql服务器中的数据库。 > show databases;
- mysql:存储了 MySQL 服务器正常运行所需的各种信息。 information_schema:提供了访问数据库元数据的各种视图,包括数据库、表、字段类型以及访问权限等。 performance_schema:为 MySQL 服务器的运行时状态提供了一个底层的监控功能。 sys:包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图。
二、创建一个数据库
1、创建数据库;
create database 库名;
2、查看数据库;
show databases;
3、选择数据库;
use 目标库;
4、修改数据库;
alter table 表名 add 列名 数据类型
5、删除数据库;
drop database 库名;
三、存储引擎
在Mysql中提供了多种存储引擎,可以根据不同的需求为表选择不同的存储引擎,也可 以根据自己的需求来编程自己的存储引擎。
1、常用的存储引擎介绍
【1】InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,InnoDB是目前MYSQL的默认事务型引擎,是目前最重要、使用最广泛的存储引擎。支持事务安全表(ACID),支持行锁定和外键。InnoDB主要特性有:
(1)InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事物安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。在SQL查询中,可以自由地将InnoDB类型的表和其他MySQL的表类型混合起来,甚至在同一个查询中也可以混合
(2)InnoDB是为处理巨大数据量的最大性能设计。它的CPU效率可能是任何其他基于磁盘的关系型数据库引擎锁不能匹敌的
(3)InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB将它的表和索引在一个逻辑表空间中,表空间可以包含数个文件(或原始磁盘文件)。这与MyISAM表不同,比如在MyISAM表中每个表被存放在分离的文件中。InnoDB表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上
(4)InnoDB支持外键完整性约束,存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID,并以此作为主键
(5)InnoDB被用在众多需要高性能的大型数据库站点上
InnoDB不创建目录,使用InnoDB时,MySQL将在MySQL数据目录下创建一个名为ibdata1的10MB大小的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的5MB大小的日志文件。
场景:由于其支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
【2】MyISAM存储引擎
MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物和外键。
MyISAM主要特性有:
(1)大文件(达到63位文件长度)在支持大文件的文件系统和操作系统上被支持
(2)当把删除和更新及插入操作混合使用的时候,动态尺寸的行产生更少碎片。这要通过合并相邻被删除的块,以及若下一个块被删除,就扩展到下一块自动完成
(3)每个MyISAM表最大索引数是64,这可以通过重新编译来改变。每个索引最大的列数是16
(4)最大的键长度是1·000字节,这也可以通过编译来改变,对于键长度超过250字节的情况,一个超过1024字节的键将被用上