vlambda博客
学习文章列表

Mysql介绍及其Sql语句

一、数据库

数据库:DataBase,简称DB,可以存储+管理数据,mysql只是数据库中的一种。其本质是一个文件系统,以文件的方式,将数据保存在电脑上。

数据库的优点

  • 内存:

    • 优点:速度快

    • 缺点:容量有限,不能够永久保存,数据是临时状态的。


  • 文件:

    • 优点:数据可以永久保存

    • 缺点:少量数据可以直接打开,大量数据使用程序IO流操作文件,不方便;同一时间多人操作某一个文件也可能出现问题


  • 数据库

    • 优点:海量存储数据,提供不错的查询效率;数据可以永久保存;方便存储和管理数据;使用统一的方式操作数据库

    • 缺点:占用资源;有些数据库需要付费


数据库分类

  • 关系型数据库

是创建在关系模型基础上的数据库

关系模型:有明确行和列的二维表格模型

典型代表:MySQL、Oracle、SQL Sercver、Access等

  • 非关系型数据库

也被称为NoSQL数据库,泛指所有非关系型数据库,以键值对进行存储:name:wangda

典型代表:MongoDB、redis、Hbase、CouchDB等

二、MySQL

优点

体积小、速度快、开源免费、简单易用、维护成本低、在集群架构中易于扩展、高可用。

特性

  1. 1.MySQL使用C和C++编写,并使用了多种编译器进行测试,保证了源代码2.的可移植性。

  2. 2.支持 AIX、HP-UX、Linux、Mac OS、OpenBSD、Solaris、Windows等多种操作系统。

  3. 3.为多种编程语言提供了 API,包括 C、C++、Python、Java、Perl、PHP、Ruby,.NET等。

  4. 4.支持多线程,充分利用CPU资源。

  5. 5.优化的SQL查询算法,有效地提高查询速度。

  6. 6.既可作为单独的应用程序应用在客户端服务器网络环境中,也可作为一个库而嵌入到其他软件中。

  7. 7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

  8. 8.提供用于管理、检查、优化数据库操作的管理工具。

  9. 9.支持大型的数据库,可以处理拥有上千万条记录的大型数据库。

  10. 10.支持多种存储引擎(类似于发动机)。

  11. 11.MySQL是开源的,所以你不需要支付额外的费用。

  12. 12.MySQL使用标准的SQL数据语言形式。

  13. 13.MySQL对PHP有很好的支持,PHP是比较流行的Web开发语言。

存储引擎

定义

存储引擎是MySQL数据库的核心、心脏、发动机,它决定了数据如何存储,查询的时候如何搜索数据,索引如何创建等等

MySQL 5.1版本之前默认的存储引擎是MyISAM,之后默认是InnoDB

InnoDB引擎:

  1. 1.事务处理、回滚、崩溃修复能力和多版本并发控制

  2. 2.自增长AUTO_INCREMENT

  3. 3.外键

优势:InnoDB的优势在于提供了良好的事务处理、崩溃修复能力和并发控制。缺点是读写效率较差, 占用的数据空间相对较大。