了解什么是数据库、MySQL和SQL

本文介绍了数据库的基本概念,包括数据库、表、模式、列、行和主键,强调了数据库存在的意义在于持久化存储和管理。讨论了关系型数据库(如MySQL)与非关系型数据库的区别,并概述了SQL语言在数据库操作中的重要作用。SQL主要分为DDL、DML和DCL,分别用于数据定义、数据操作和数据控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库存在的意义

因为数据存在内存(RAM)中有优点也有缺点。优点支持随机访问,访问速度快;缺点是内存的容量小,且断电遗失。
为了客服和护具存储在内存中的缺点,数据库存在的意义是:现实场景中需要持久化存储(Persistent Stores)和管理数据库。
数据库的存储介质:磁盘,内存。
数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

数据库

数据库(database):是一个以某种有组织的方式存储的数据集合,数据库是保存有组织的数据分容器(通常是一个文件或一组文件)。

注意:
不能用数据库这个术语来代表可以使用的数据库软件。
确切的说:数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操作的容器。
数据库可以是保存在硬件设备上的文件,但也可以不是。
在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;你使用的还是DBMS,它替你访问数据库。

表(table):某种特定类型数据的结构化清单,是一种结构化的文件,可用来存储某种特定类型的数据。例如:可以保存顾客清单、产品目录。

注意:
存储在表中的数据是一种类型的数据或一个清单的数据。
数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的,
这表示同一个数据库中没有其他表具有相同的名字,但是在不同的数据库中可以使用相同的表名。

模式(schema):关于数据库和表的布局及特性的信息。
表具有一些特性,这些特性定义了数据在表中如何存储,如可以存储什么样的数据,数据如何分解,各部分信息如何命名等等。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特顶的表以及整个数据库(和其中表的关系)。

模式可以用作数据库的同义词。

列(column):表中的一个字段,所有的表都是由一个或多个列组成的。
表由列组成,列中存储着表中某部分的信息。
数据库中每个列都有相应的数据类型。数据类型定义列可以存储的数据种类。例如:如果列中存储的为数字,则相应的数据类型应该为数值类型。如果列中存储的是日期,文本,注释等,则应该用恰当的数据类型规定出来。
数据类型(datatype):所容许的数据的类型。每个表都有相应的数据类型,他限制(或容许)该列中存储的数据。
数据类型限制可存储在列中的数据种类(例如,防止在数值字段中录入字符值)。数据类型还帮助正确的排序数据,并在优化磁盘使用方面起重要的作用。因此在创建表时必须对数据类型给予特别的关注。
行(row):表中的一个记录。
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。

在很大程度上行(row)和数据库记录(record)这两个术语是可以相互替代的,单从技术上说,行才是正确的记录。

主键(primary key):一列(或者一组列),其值能够唯一区分表中的每个行。
表中的每一行都应该有唯一可以表示自己的一列(或者一组列)。唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定的行会很困难,因为没有安全的方法保证只涉及相关的行。

规则:
表中任何类都可以作为主键,只要它满足以下条件:
1,任意两行都不具备相同的主键值;
2,每个行都必须具有一个主键值;
3,主键列不允许NULL值。
上面的规则是MySQL本身强制实施的。

主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多个列作为主键是,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

除MySQL强制实施的规则外,应该坚持的几个普遍认可的最好习惯为:
# 不更新逐渐列中的值;
# 不重用主键列中的值;
不在主键列中使用可能会更改的值。

关系型数据库(RDBMS)和非关系型数据库

数据库大体可以分为:关系型数据库(RDBMS)和非关系型数据库:
关系型数据库:是指采用的关系模型来组织数据的数据库。简单来水,关系模型指的就是二维表格模型,而一个我关系型数据库就是由二维表及其之间的联系所组成的一个数据结组织。

基于标准的SQL,知识内部一些实现有区别,常用的关系型数据库如:
Oracle:甲骨文产品,适合大型项目,是用于做复杂的业务逻辑,如:ERP、OA等企业信息系统收费。
MySQL:属于甲骨文,不适合做复杂的业务,开源免费。
SQL Server:微软的产品,安装部署在Windows server上,是用于大中型项目,收费。

非关系数据库:不规定jiyuSQL实现。现在跟多的是指NoSQL数据库。

基于键值对(Key-Value):如memcached、redis
基于文档型:如mongodb
基于列族:如hbase
基于图型:如neo4j

区别:
在这里插入图片描述
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical Processing)是指联机分析处理。

MySQL

MySQL:是一个关系型数据库管理系统(DBMS),可以通过MySQL操纵数据库,MySQL使用SQL语言访问数据库。
MySQL通过分工的方式解决数据的持久化存储问题。
一个数据库管理系统下可以由多个数据库。
通过SQL语言和MySQL进行通信。

SQL

SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一门专门用来与数据库通信的语言。
与其他语言(如Java和Visual Basic这样的程序设计语言)不一样,SQL由很少的词构成,这是有意而为的。设计SQL的目的是很好的完成一项任务,即提供一种从数据库中读写数据的简单有效的方法,SQL主要的功能是实现数据的增删查改。

SQL有如下优点:
1.SQL不是某个特定的数据库供应商专有的语言,几乎所有重要的DBMS都支持SQL。所以,学习此语言使你几乎能与所有数据库打交道。
2.简单易学。他的语句全都是由描述性很强的英语单词组成的,而且这些单词的数目不多。
3.SQL尽管看上去简单,但他实际上市一种强有力的语言,灵活使用其语言元素,可以惊醒非常复杂和高级的数据库操作。

1.SQL中的关键字不区分大小写。
2.SQL以分号或者\g作为语句的结尾。
3.SQL通过 – 开头作为行注释。
4.区分单引号,双引号和反引号。

SQL分类

SQL主要分为三个大部分:DDL、DML、DCL

DDL数据定义语言,用来维护存储数据的结构
代表指令:create,drop,alter

DML数据操纵语言,用来对数据进行操作
代表指令:insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令:select

DCL数据控制语言,主要负责权限管理和事务
代表指令:grant,revoke,commit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值