MySQL 保姆级教程(一):了解 SQL

简介: MySQL 保姆级教程(一):了解 SQL

第 1 章 了解 SQL

1.1 数据库基础

在深入学习 MySQL 及其 SQL 语言 实现之前,应该对数据库及数据库技术的某些基本概念有所了解

1.1.1 什么是数据库

数据库是一个以某种有组织的方式存储的数据集合

1.1.2 表

某种特定类型数据的结构化清单

表名

数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的

模式

描述表的信息

1.1.3 列和数据类型

列:表中的一个字段,所有表都是由一个字段或多个字段组成的


数据类型:每个表列都有相对应的数据类型,它限制该列中存储的数据


整数类型(Integer Types):
    TINYINT: 很小的整数,范围在 -128 到 127 或 0 到 255 之间(取决于是否有符号)。
    SMALLINT: 小整数,范围在 -32768 到 32767 或 0 到 65535 之间。
    MEDIUMINT: 中等大小整数,范围在 -8388608 到 8388607 或 0 到 16777215 之间。
    INT 或 INTEGER: 普通整数,范围在 -2147483648 到 2147483647 或 0 到 4294967295 之间。
    BIGINT: 大整数,范围在 -9223372036854775808 到 9223372036854775807 或 0 到 18446744073709551615 之间。
浮点数类型(Floating-Point Types):
    FLOAT: 单精度浮点数。
    DOUBLE: 双精度浮点数。
    定点数类型(Fixed-Point Types):
    DECIMAL 或 NUMERIC: 用于存储固定精度的小数,例如货币。
字符串类型(String Types):
    CHAR: 固定长度字符串,最多 255 个字符。
    VARCHAR: 可变长度字符串,最多 65535 个字符。
    BINARY: 固定长度二进制字符串。
    VARBINARY: 可变长度二进制字符串。
    TINYBLOB: 非常小的二进制对象。
    TINYTEXT: 非常小的文本对象。
    BLOB: 二进制对象,最大大小为 65535 字节。
    TEXT: 文本对象,最大大小为 65535 字节。
    MEDIUMBLOB: 中等大小的二进制对象。
    MEDIUMTEXT: 中等大小的文本对象。
    LONGBLOB: 非常大的二进制对象。
    LONGTEXT: 非常大的文本对象。
    ENUM: 一个字符串对象,可以从预定义的值列表中选择一个。
    SET: 一个字符串对象,可以从预定义的值列表中选择零个或多个。
日期与时间类型(Date and Time Types):
    DATE: 日期,格式为 'YYYY-MM-DD'。
    TIME: 时间,格式为 'HH:MM:SS'。
    DATETIME: 日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
    TIMESTAMP: 类似于 DATETIME, 但是自动更新为当前时间戳。
    YEAR: 年份,存储 2 位或 4 位格式的年份。
其他类型(Other Types):
    BOOL 或 BOOLEAN: 用于存储布尔值(真或假)。
    SERIAL: 自增长整数,通常用于创建主键。

1.1.4 行

表格的数据是按行存储的,行是表格中的一个记录

1.1.5 主键

一列(或一组列),其值能够唯一区分表中每个行


主键值规则:

   1. 任意两行都不具有相同的主键值

   2. 每个行都必须具有一个主键值

   3. 主键列不允许为空值

1.2 什么是 SQL

结构化查询语言


优点:

   1. 几乎所有重要的数据库都支持 SQL

   2. SQL 简单易学

第 2 章 MySQL 简介

2.1 什么是 MySQL

MySQL 是一种 DBMS(数据库管理系统)


成本:开源

性能:执行快

可信赖:某些非非常重要的公司都用 MySQL

简单:MySQL 很容易安装和使用

2.1.1 客户机——服务器软件

DBMS 分为两类:

   1. 基于共享文件系统的 DBMS

   2. 基于客户机——服务器的 DBMS

2.1.2 MySQL版本

5.6     5.7     8.0

2.2 MySQL 工具

Mysql 是一个客户机-服务器 DBMS,因此,为了使用 MySQL,需要有一个客户机,即你需要用来与 MySQL 打交道的一个应用

2.2.1 mysql 命令行实用程序

每个 MySQL 都用安装一个名为 mysql 的简单命令行实用程序,在终端输入 mysql -u root -p 即可登录使用

2.2.2 MySQL Administrator

MySQL Administrator 是一个图形交互客户机,用来简化 MySQL 服务器的管理

2.2.3 MySQL Query Browser

MySQL Query Browser 是一个图形交互客户机,用来编写和执行 MySQL 命令

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1600 152
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1107 156
|
10月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2524 16
|
10月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
10月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
10月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
898 11
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
1019 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
704 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
410 6

推荐镜像

更多