一、常用的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字节的键将被用上
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/293854.html