一、什么是SQL
SQL(Structured Query Language)即结构化查询语言,是一种用于管理和操作关系数据库的标准编程语言。SQL是数据库操作的基础,用于执行查询、更新、插入和删除等操作。
市面上的SQL应用
MySQL:开源的关系数据库管理系统,广泛用于Web应用。
PostgreSQL:一个高度可扩展的开源对象关系数据库系统。
Oracle:功能强大的商业数据库管理系统。
Microsoft SQL Server:微软的数据库产品,广泛应用于企业级应用。
SQLite:轻量级的数据库,通常用于移动应用和小型应用。
二、MySQL
文章主要讲解MySQL,因为作者也是这个用的多。
顺便介绍一下MySQL的一些信息,像出生来历,市场地位,使用范围之类的稍微介绍一下。
MySQL是一个关系型数据库管理系统,最初发布于1995年,由瑞典MySQL AB公司开发,后被Sun Microsystems公司收购,Sun Microsystems公司随后被Oracle公司收购。
MySQL作为全球最流行的关系型数据库之一,具有广泛的影响力和市场地位。根据相关统计数据,MySQL在全球关系型数据库市场中占有相当高的市场份额,达到43.04%。
MySQL被广泛应用于各种规模的应用程序中,包括网站、电子商务系统、企业应用等。许多知名的网站和服务都在使用MySQL,如Facebook、Twitter、YouTube、WordPress等,这进一步证明了MySQL的可靠性和适用性。
MySQL拥有一个庞大且活跃的开发者社区,他们不断地贡献代码、修复错误、提供支持和开发新功能。社区支持还提供了丰富的文档、教程、论坛和邮件列表等资源,帮助用户解决问题、学习新知识和交流经验。
MySQL的开源性质意味着用户可以免费获取、使用和修改它,这降低了企业的成本,尤其对于初创公司和个人开发者而言,MySQL提供了一个低成本、高效率的数据库解决方案。
MySQL提供了高性能和可靠性的数据库服务,具有快速的查询处理能力、高度的可扩展性和稳定的运行表现。
另外在国内,MySQL主要被互联网行业使用较多,尤其是游戏行业较早使用,一些传统型国有性质企业如北方电网、中国电信、中国移动、虹桥机场等也有使用。国外许多企业如瑞典电信、Yahoo、Google、Facebook、Nokia等都在使用MySQL,且不少企业有源码方面的贡献。
三、MySQL与其他SQL的对比
特性 | MySQL | PostgreSQL | Oracle | SQL Server |
---|---|---|---|---|
开源 | 是 | 是 | 否 | 否 |
性能 | 高 | 高 | 非常高 | 高 |
社区支持 | 强 | 强 | 中等 | 中等 |
可扩展性 | 好 | 非常好 | 非常好 | 非常好 |
成本 | 低 | 高 | 中 | 低 |
易用性 | 简单 | 中等 | 复杂 | 较复杂 |
兼容性 | 支持Windows/Linux/Mac | 支持Windows/Linux/Mac | 主要支持Windows/Linux | 主要支持Windows/Linux |
看完二,三大概也知道为什么主讲MySQL了。免费,好使,用的人多,上手容易,对于新手来说,选择先入门MySQL绝对是一个好的选择!
四、MySQL的架构
MySQL的架构主要分为以下几个部分:
1.网络连接层:负责客户端与MySQL服务器之间的连接交互,包括连接管理、授权认证、安全等。
2.服务层:是MySQL的核心,包括系统管理和控制工具、连接池、SQL接口、解析器、查询优化器和缓存六个部分。
3.存储引擎层:负责MySQL中数据的存储与提取,与底层系统文件进行交互,特别注意的是存储引擎是基于表的,一个库内的表可以有不同的存储引擎,所以存储引擎也被称为表类型。
4.系统文件层:负责将数据库的数据和日志存储在文件系统之上,并完成与存储引擎的交互,是文件的物理存储
层。
MySQL的架构信息初学的话个人认为可以不用过多的了解,随着学习知识的慢慢深入,会自然而然接触到更加底层的信息,所以我这里不过多描述。
能用是初学者最大的目标,怎么用更好那是进阶到下一步才需要考虑。
五、MySQL的常见名词(入门)
数据库(Database):存储数据的集合。
表(Table):数据库中的一个结构,用于存储数据。
字段(Field)/列(Column):表中的一个属性。
记录(Record)/行(Row):表中的一条数据。
主键(Primary Key):表中的一个或多个列,用于唯一标识表中的每一行。主键的值必须是唯一的,并且不能为NULL。
外键(Foreign Key):表中的一个字段或多个字段,它们在另一个表中作为主键。外键用于建立和维护两个表之间的链接。
索引(Index):一种特殊的数据结构,用于加快数据检索速度。索引类似于书籍的目录,可以快速定位到表中的特定数据。
六、MySQL的字段类型
- INT:整型,用于存储整数。它可以有符号或无符号,并且有不同的显示宽度选项。
- TINYINT:非常小的整数,有符号的范围是-128到127,无符号的范围是0到255。
- BIGINT:大整数,有符号的范围是-263到263-1,无符号的范围是0到2^64-1。
- FLOAT:浮点数,用于存储单精度浮点数,精度较低。
- DOUBLE:双精度浮点数,用于存储双精度浮点数,精度较高。
- CHAR:固定长度的字符串,适合存储较短的字符串,如性别、国家代码等。
- VARCHAR:可变长度的字符串,适合存储长度可变的字符串,如名字、描述等。
- TEXT:用于存储大量文本,如文章内容或备注。
- DATE:日期类型,格式为 YYYY-MM-DD。
- TIME:时间类型,格式为 HH:MM:SS。
- DATETIME:日期和时间类型,格式为 YYYY-MM-DD HH:MM:SS。
写到最后
这一篇是入门的文章,讲的是一些概念性的东西。我预估会写三篇,第二篇讲常见名词,字段类型详细版,附带一些语句,第三篇讲基础的一些语法及使用。
我个人对入门的理解是:知道是什么,了解常见的名词及意义,能正常的使用起来。
入门而已,不要那么卷,简单好用容易学,别给人劝退了就行。
感谢收藏,感谢关注,感谢点赞,希望对你有帮助。