知识就是力量——数据库
文章目录
- 一、MySQL 概述
- 数据库介绍
- MySQL 简介
- MySQL 版本
- 在 Windows 上安装 MySQL
- MySQL 基础
- MySQL 数据库和表
- MySQL 数据类型
- MySQL数据类型全面介绍
- 一、数值类型
- 1. 整数类型
- 2. 浮点数类型
- 二、日期和时间类型
- 三、字符串类型
- 1. 定长字符串
- 2. 变长字符串
- 3. 文本类型
- 四、二进制大对象类型
作为新手,您选择了一个高效的学习路径——PyCharm和可视化工具能大大降低学习成本。
一、MySQL 概述
数据库介绍
顾名思义,数据库就是存档某些数据的仓库。但是这个仓库不是一个实体仓库,也不存储实体物品,而是存放数据。比如我们常见的:
- 我们在大型超市购物时,我们购买的商品的价格和折扣等信息就存在一个数据库中。
- 我们手机上的联系人信息是一个列表,这个列表数据也存在一个数据库中。
- 电子商务网站中的商品的库存和价格信息也存在于服务器的数据库中。
- 汽车 4S 店的服务客户的记录信息也会存储在一个数据库中。
可以说,在现在的信息化系统中,数据库无处不在。
数据库是一个以某种有组织的方式存储的数据集合。当人们收集了大量的数据后,应该把它们保存起来进一步的处理,进一步地抽取有用的信息。现在人们借助 计算机和数据库技术科学地保存了大量的数据,以便更好地利用这些数据资源。
MySQL 简介
MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
MySQL 这个名字是怎么来的已经不清楚了。一些基本指南和大量的库和工具都使用 my 前缀很长时间了,这可能是一个原因。 MySQL AB 创始人之一的 Monty Widenius的女儿也叫 My。 MySQL 这个名字到底来源于哪一个原因,包括开发者在内也不知道。
MySQL 的海豚标志的名字叫 “sakila” ,它是由 MySQL AB 的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者 Ambrose Twebaze 提供。根据 Ambrose 所说,Sakila 来自一种叫 SiSwati 的斯威士兰方言,也是在 Ambrose 的家乡乌干达附近的坦桑尼亚的 Arusha 的一个小镇的名字。
2008 年 1 月 16 日 MySQL AB 被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购。就这样如同一个轮回,MySQL 成为了 Oracle 公司的另一个数据库项目。
MySQL 是数据库的一种,具有数据库的通用特征,同时,比起其他类型的数据库,它还具有自己鲜明的特点。
MySQL 是一个小型的开源的关系型数据库管理系统。与其他大型数据库管理系统例如 Oracle、DB2、SQL Server 等相比,MySQL 规模小,功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用已经够用,这些特性使得 MySQL 成为世界上最受欢迎的开放源代码数据库。
MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL 数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。
由于 MySQL 是开放源代码的,因此任何人都可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改。MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。
MySQL 版本
针对不同的用户,MySQL 分为两个不同的版本:
MySQL 社区版:该版本完全免费,但是官方不提供技术支持。用户可以自由下载使用。
MySQL 企业版服务器:为企业提供数据库应用,支持 ACID 事务处理,提供完整的提交、回滚、崩溃恢复和行政锁定功能。需要付费使用,官方提供技术支持。
对绝大多数应用而言,MySQL 社区版都能满足。
MySQL 可以在 UNIX、Linux、Windows 等各种平台上运行。并且不管是服务器还是桌面版本的 PC,都可以安装 MySQL,并且 MySQL 在各个平台都很可靠且速度快。
如果您开发网站或 Web 应用程序,MySQL 是一个不错的选择。MySQL 是 LAMP 堆栈的重要组件。 LAMP 网站架构是目前国际流行的 Web 框架, 其中包括 Linux、Apache、MySQL 和 PHP。
在 Windows 上安装 MySQL
下载 MySQL 安装程序
我们需要使用 MySQL 提供的安装程序在 Windows 平台上安装 MySQL。
请转到 MySQL 官方下载页面下载 MySQL 安装程序。下载页面提供了 2 个安装程序文件供下载:
- 在线安装版:安装过程中需要联网下载用户选择的组件再进行安装。 对应的文件是 mysql-installer-web-community-.msi,文件大小约有 2M。
- 完整安装版:包含了全部组件,安装过程中不需要联网。 对应的文件是 mysql-installer-community-.exe,文件大小约有 450M。
两个安装程序安装完成后的结果完全一样,您可以根据自己的需要选择下载。这里我们选择下载在线安装版。
详细步骤官网也有这里把地址贴上来自行安装即可安装 MySQL 数据库
MySQL 基础
MySQL 数据库和表
MySQL 数据类型
MySQL 中的数据类型包括以下几个大类:
- 字符串类型
- 数字类型
- 日期和时间类型
- 二进制类型
- 地理位置数据类型
- JSON 数据类型
MySQL数据类型全面介绍
一、数值类型
1. 整数类型
| 类型 | 字节 | 有符号范围 | 无符号范围 | 描述 |
|---|---|---|---|---|
| TINYINT | 1 | -128 ~ 127 | 0 ~ 255 | 小整数 |
| SMALLINT | 2 | -32768 ~ 32767 | 0 ~ 65535 | 中等整数 |
| MEDIUMINT | 3 | -8388608 ~ 8388607 | 0 ~ 16777215 | 中等整数 |
| INT | 4 | -2147483648 ~ 2147483647 | 0 ~ 4294967295 | 标准整数 |
| BIGINT | 8 | ±9.22×10¹⁸ | 0 ~ 1.84×10¹⁹ | 大整数 |
2. 浮点数类型
| 类型 | 字节 | 描述 | 精度 |
|---|---|---|---|
| FLOAT | 4 | 单精度浮点数 | 约7位小数 |
| DOUBLE | 8 | 双精度浮点数 | 约15位小数 |
| DECIMAL(M,D) | 变长 | 精确小数 | M位总数,D位小数 |
二、日期和时间类型
| 类型 | 格式 | 范围 | 描述 |
|---|---|---|---|
| DATE | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 | 日期 |
| TIME | HH:MM:SS | -838:59:59 ~ 838:59:59 | 时间 |
| DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 日期时间 |
| TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:01 ~ 2038-01-19 03:14:07 | 时间戳 |
| YEAR | YYYY | 1901 ~ 2155 | 年份 |
三、字符串类型
1. 定长字符串
| 类型 | 最大长度 | 描述 | 特点 |
|---|---|---|---|
| CHAR(n) | 255字符 | 定长字符串 | 固定长度,速度快 |
| BINARY(n) | 255字节 | 定长二进制 | 存储二进制数据 |
2. 变长字符串
| 类型 | 最大长度 | 描述 | 特点 |
|---|---|---|---|
| VARCHAR(n) | 65535字符 | 变长字符串 | 可变长度,节省空间 |
| VARBINARY(n) | 65535字节 | 变长二进制 | 可变二进制数据 |
3. 文本类型
| 类型 | 最大长度 | 描述 |
|---|---|---|
| TINYTEXT | 255字节 | 短文本 |
| TEXT | 65,535字节 | 标准文本 |
| MEDIUMTEXT | 16,777,215字节 | 中等文本 |
| LONGTEXT | 4,294,967,295字节 | 长文本 |
四、二进制大对象类型
| 类型 | 最大长度 | 描述 |
|---|---|---|
| TINYBLOB | 255字节 | 小二进制对象 |
| BLOB | 65,535字节 | 二进制大对象 |
| MEDIUMBLOB | 16,777,215字节 | 中等二进制对象 |
| LONGBLOB | 4,294,967,295字节 | 长二进制对象 |
记住,学习数据库操作最重要的是实践。建议您:
- 创建一个测试数据库进行练习
- 使用PyCharm的Database工具直观查看操作结果
- 多写多练,从简单查询开始逐步深入
遇到具体问题时,欢迎随时提问!每个专家都曾是新手,关键在于持续学习和实践。
