【MySQL数据库基础 一】基本概念和控制语句

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL数据库基础 一】基本概念和控制语句

SQL控制语句分类

使用SQL语句,可以完成在数据库中检索信息、更新数据库信息、改变数据库的结构,标准SQL语句的五种类型

  • 查询语句, 也叫数据查询语言,通常由select完成,查询数据库信息
  • DML语句,也叫数据操作语言,主要由insert,update,delete完成,修改数据库信息
  • DDL语句,也叫数据定义语句,主要由create,alter,droptruncate(性能优于delete)四个关键字完成。
  • DCL语句,也叫数据控制语句,主要由grantrevoke两个关键字完成,其中DCL语句用于为数据库用户授权或者收回指定用户权限,通常无须程序员操作。
  • 事务控制语句,主要由commit,rollbacksavepoint三个关键字完成

需要注意的是,SQL语句不区分大小写

SQL标识符

SQL中的标识符可用于定义表名,列名,变量,规范如下:

  • 标识符通常必须以字母开头
  • 标识符包括字母,数字特殊字符(# _ $)
  • 同一个外模式的下的对象不应该同名
  • 不要使用当前数据库系统的关键字、保留字

通常建议使用多个单词连缀而成,单词之间以下划线分隔。

MySQL术语

在正式理解前先来熟悉一下MySQL中的一些术语,然后操作的时候会有较好的理解:

  • 数据库: 数据库是一些关联表的集合
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格
  • : 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据
  • 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性
  • 数据字典就是系统表,存放数据库相关信息的表,此部分程序员只可查看不可操作,由系统维护
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据
  • 外键外键用于关联两个表
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引
  • 约束:constraint:执行数据校验的规则,用于保证数据完整性的规则
  • 视图:view:一个或者多个数据表里的数据的逻辑显示。视图并不存储数据只是显示数据
  • 函数:function:用于完成一次特定的计算,具有一个返回值
  • 存储过程:proceduren:用于完成一次完整的业务处理,没有返回值,但可通过传参将多个值传给调用环境
  • 触发器:trigger:相当于一个时间监听器,当数据库发生特定事件后,触发器被触发,完成相应处理
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性

其中函数,存储过程,触发器不常用于JDBC编程。

MySQL数据类型

分为数值类型、日期和时间类型、字符串类型

数值类型

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

  • 整数类型:tinyint(1字节),smallint(2字节),mediumint(3字节),int(interger)(4字节),bigint(8字节)。
  • 浮点类型:float/double 单精度/双精度浮点类型。
  • Decimal(dec):精确小数类型,相对于float和double不会产生精度丢失的问题。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINTBIGINT。下面的表显示了需要的每个整数类型的存储和范围

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIMEYEAR。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

  • DATA:日期类型,不能保存时间。把java.util.Date对象保存进date列时,时间部分会丢失。
  • TIME:时间类型,不能保存日期。把java.util.Date对象保存进time列时,日期部分会丢失。
  • YEAR:年类型,仅仅保存时间的年份。
  • DATATIME:日期时间类型。
  • TIMESTAMP:时间戳类型,会自动记下数据库计数器记录的值。

TIMESTAMP类型有专有的自动更新特性

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。以下是使用方式和范围:

  • CHAR:定长字符串类型。
  • VARCHAR:可变长度字符串类型。
  • BINARY:定长二进制字符串类型,以二进制形式保存字符串。
  • VARBINARY:可变长度二进制字符串类型,以二进制形式保存字符串。
  • 二进制大对象:tinyblob(1字节),blob(2字节),mediumblob(3字节),longblob(4字节),用于存储图片,音乐等二进制数据,分别可存储255B/64KB/16MB/4GB
  • 文本对象:tinytext(1字节),text(2字节),mediumtext(3字节),longtext(4字节),可用于存储超长长度的字符串,分别可存储:255B/64KB/16MB/4GB大小。
  • enum(‘value1’,‘value2’……):枚举类型,该列的值只能是enum后括号里多个值的其中之一。
  • set(‘value1’,‘value2’……):集合类型**,该列的值可以是set后括号里多个值的其中之一。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
382 0
|
2月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
78 5
Mysql(3)—数据库相关概念及工作原理
|
2月前
|
关系型数据库 MySQL 数据库
MySQL数据库:基础概念、应用与最佳实践
一、引言随着互联网技术的快速发展,数据库管理系统在现代信息系统中扮演着核心角色。在众多数据库管理系统中,MySQL以其开源、稳定、可靠以及跨平台的特性受到了广泛的关注和应用。本文将详细介绍MySQL数据库的基本概念、特性、应用领域以及最佳实践,帮助读者更好地理解和应用MySQL数据库。二、MySQL
146 5
|
2月前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
65 3
|
6月前
|
SQL 算法 关系型数据库
【MySQL】专栏合集,从基础概念到调优
【MySQL】专栏合集,从基础概念到调优
46 0
|
3月前
|
存储 关系型数据库 MySQL
MySQL索引的概念与好处
本文介绍了MySQL存储引擎及其索引类型,重点对比了MyISAM与InnoDB引擎的不同之处。文中详细解释了InnoDB引擎的自适应Hash索引及聚簇索引的特点,并阐述了索引的重要性及使用原因,包括提升数据检索速度、实现数据唯一性等。最后,文章还讨论了主键索引的选择与页分裂问题,并提供了使用自增字段作为主键的建议。
MySQL索引的概念与好处
|
6月前
|
存储 关系型数据库 MySQL
MySQL Change Buffer 深入解析:概念、原理及使用
MySQL Change Buffer 深入解析:概念、原理及使用
MySQL Change Buffer 深入解析:概念、原理及使用
|
5月前
|
SQL 监控 Oracle
|
5月前
|
关系型数据库 MySQL
MySQL设计规约问题之表示是与否概念的字段应该如何命名
MySQL设计规约问题之表示是与否概念的字段应该如何命名
|
6月前
|
关系型数据库 MySQL 数据挖掘
MySQL窗口函数详解(概念+练习+实战)
MySQL窗口函数详解(概念+练习+实战)
1215 1