当前位置:网站首页>MySQL数据库【数据库基础--引入篇】
MySQL数据库【数据库基础--引入篇】
2022-07-23 17:39:00 【小李爱吃川菜】
前言:从今天开始,我们正式开始数据库新专题的学习,为什么呢,因为要学习数据库呢,(当然是因为学校要逼我),呃呃,开个玩笑,其实我们在生活中,早已离不开数据库,当你在淘宝薅羊毛时,通过数据库对各种产品数据进行筛选,或者是在ATM取钱时要通过数据库对你的用户id密码进行匹对,我们与数据库并不陌生,所以接下来跟随我一起来系统学习数据库吧!

内存与外存区别
内存和外存的本质区别是,一个是内部运行提供缓存和处理的功能,也可以理解为协同处理的通道;而外存主要是针对储存文件、图片、视频、文字等信息的载体,也可以理解为储存空间。 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。 计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大
内存特点
内存是相对于外部存储器而言的,内存的主要特点是读写反应速度快,它通常是直接与CPU相连,以满足CPU高速运算的需求,另外由于内存的物理性质,因此它还有存储容量小及断电后不保存信息等特点,但是成本较高.
外存特点
外存通常是指外部存储器,如硬盘,光盘、磁盘、磁带等(这里特指机械硬盘,SSD固态硬盘),机械硬盘受其物理结构的限制,访问速度已经很多年没发展了,而SSD固态硬盘的访问速度较快,最好的SSD固态硬盘速度可以与最菜的CPU速度相比较,它的特点是容量大成本较低,断电后仍能保存信息,也就是外存上的数据具有持久化,方便外部交流使用,但它相对于内存来说速度较慢。
数据库管理的数据一般保存在硬盘上.也有少数数据库,是把数据存在内存中
冯诺依曼体系

概念:
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构,数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构
图示结构
计算机常用的操作时间
在计算机中,计算机对访问网络,磁盘,内存,以及CPU的速度是不相同的,为什么要介绍计算机的不同访问速度呢,因为在后面SQL语句操作数据库时,每一个SQL语句都会耗时相应的时间,这有利于我们对该语句执行速度的快慢有一个大概的预估。
访问网络的速度:s~ms
访问磁盘的速度:ms~us
访问内存的速度:us~ns
操作cpu的访问速度:ps
在实际使用关系型数据库MySQL过程中时,每执行完一条SQL语句之后,网网都会附带一条执行时间的用时信息,例如0.03sec,就代表的是执行完该语句计算机耗时0.03秒,虽然对于人来说这是一个非常短的时间间隔,但是对于计算机来说则是非常慢的,这与关系型数据库在硬盘上储存数据有关,相反的是非关系型数据库则执行速度型相对快些,因为约束更小。
所以在计算机中,秒这个单位对于计算机来说是非常慢的,就好比对于飞机来说,汽车的速度是非常慢的。
计算机中如何表示中文
ASCII码值:本质上是用数字代表字符,用97表是小写字母’a’…。(英文字母少好表示)。
GBK字符集(windows简体中文版默认字体):用两个字节代表一个汉字(指定出了一个大表格:本质上用数字代表各种语言文字的符号,这个大表格,映射关系就叫做字符集)。
UTF8(变长编码):该编码除了能编码中文,还能编码其他任何语言也叫’‘万国编码’',具体是一个汉字,使用多个字节表示,长度不确定,可变的,但当编码汉字时通常使用3个字节来表示。所以UTF8也是当今最主流的编码方式。
什么是数据库
数据库概念
理解一(逻辑上的数据库):数据库是一个以某种有组织的方式存储的数据集合。理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。
理解二(字面上的理解 ):数据库是一个软件(是一类软件):这一类软件功能就是"管理数据".实现数据库软件的内部,会广泛的使用到各种数据结构.,(database)保存有组织的数据的容器(通常是一个文件或一组文件,保存的数据在硬盘上,即使断电数据也不会消失),所以实际上数据库的具体实现会用到多种不同的设计方法,
存储数据用文件就可以了,为什么还要弄个数据库?
1.文件保存数据有以下几个缺点:
2.文件的安全性问题
3.文件不利于数据查询和管理
4.文件不利于存储海量数据
5.文件在程序中控制不方便
数据库分类
数据库大体可以分为 关系型数据库 和 非关系型数据库,我们接下来学习的是关系型数据库(MySQL)
关系型数据库(依赖SQL)
关系型数据库(RDBMS):
关系数据库=多张表+各表之间的关系
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联所组成的一个数据组织。(数据以数据表的的形式进行组织,每个数据库可以有多个数据表,一个数据表可有多个字段,每个字段数据类型书是确定的,数据表中的每一行就是一条数据记录)
基于标准的SQL(见文章下),只是内部一些实现有区别。常用的关系型数据库如:
- Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。(一般企业甚至大企业都用不起,主要是银行在使用此数据库,因为Oracle的安全性十分强大,又有人说好钱买好货)
- MySQL:属于甲骨文,不适合做复杂的业务。开源免费。(大部分企业以及学习数据库的初学者的首选,主要还是因为他开源且免费)
- SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。(简单来说SQL Server数据库功能也是十分强大的,只不过是错过了良好的发展时机)
- SQLite :全世界装机量最高的数据库,因为他是安卓的内置数据库,优点是小巧轻量
非关系型数据库(不依赖SQL)(了解)
(了解)不规定基于SQL实现。现在更多是指NoSQL数据库,如:
基于键值对(Key-Value):如 memcached、redis
基于文档型:如 mongodb
基于列族:如 hbase
基于图型:如 neo4j
关系型数据库与非关系型数据库的比较
小结
要值得注意的是,不管是哪种数据库,都有自己的运用场景,只不过我们现在要着重学习关系型数据库,一定要牢记什么是关系型数据库(数据以数据表的的形式进行组织,每个数据库可以有多个数据表,一个数据表可有多个字段,一列代表的是一个字段,数据表中的每一行就是一条数据记录)。
数据库概念混淆纠正
现象
人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的,它是引起混淆的根源。确切地说,数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;你使用的是DBMS,通过SQL编程语言语句,数据库管理系统它替你访问数据库。
在学习数据库的过程中我发现有十分多的同学老是把数据库的相关概念搞混淆,比如说容易把数据库,数据库管理系统,数据库客户端,数据库服务器混为一谈,那我们来理一理它们之间的关系

SQL语言
1.概念
结构化查询语言 (Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,是一种专门用来与数据库通信的语言。,用于存取数据以及询、更新和管理关系型数据库系统,所以非关系型数据库就不能使用SQL语言(noSQL); SQL 语句就是对数据库进行操作的一种语言。
2.SQL语言分类
1.DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)
代表指令:create, drop, alter
2.DML:数据操作语言,用来对数据库中的数据进行(增,删,改)
代表指令:insert,delete,update
3.DQL(DML语言中的一种):DML中又单独分了一个DQL,数据查询语言,用来查询数据库中表的数据记录(表中一行代表一个数据录)
代表指令:select
4.DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限
代表指令:grant,revoke,commit
3.SQL语言的语法规则
1.SQL语言可以单行或多行书写,以分号结束
2.SQL语句可以通过空格或缩进增强可读性
3.MySQL数据库中不区分大小写,但关键字建议使用大写
4.注释:
4.使用SQL语言的优点
SQL有如下的优点。
SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS(数据库管理系统)都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。
SQL简单易学。它的语句全都是由描述性很强的英语单词组成,而且这些单词的数目不多。
SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
DBMS专用的SQL, SQL不是一种专利语言,而且存在一个标准委员会,他们试图定义可供所有DBMS使用的SQL语法,但事实上任意两个DBMS实现的SQL都不完全相同
5.SQL语言与数据库的关系
MySQL数据库是什么
介绍了数据库和SQL。正如所述,数据的所有存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库软件。
MySQL就是一个具体的数据库软件.MySQL这个数据库,是一个**"客户端-服务器"结构**的程序.
主动发起请求的一方,称为客户端,客户端给服务器发送的数据叫做’请求’.
被动接受请求的一方,称为服务器.服务器给客户端返回的的数据叫做’响应’.
通过SQL来操作"数据库”,此处的数据库指的是一个MySQL服务器上,所管理的一个独立的数据集合.一个独立的分组(数据集合)就称为是一个数据库.一个MySQL服务器上可以管理多个数据库
为什么学习MySQL数据库
什么有那么多的公司和开发人员使用MySQL?以下列出其原因。
* 成本——MySQL是开放源代码的,一般可以免费使用(甚至可以免费修改)。
* 性能——MySQL执行很快(非常快)。
* 可信赖——某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据。
* 简单——MySQL很容易安装和使用。
事实上,MySQL受到的唯一真正的批评是它并不总是支持其他DBMS提供的功能和特性。然而,这一点也正在逐步得到改善,MySQL的各个新版本正不断增加新特性、新功能。
到这里你可能还是对MySQL数据库比较陌生,那我们正式对MySQL数据库数据库的创建,删除,以及表操作进行学习吧!数据库和表结构的增删查改
边栏推荐
- UPC 2022 summer personal training game 12 (number of combinations b)
- impala的详细写入流程
- 【论文阅读】GETNext: Trajectory Flow Map Enhanced Transformer for Next POI Recommendation
- Perl语言简述
- Three ways to realize multithreading
- Alibaba's latest masterpiece! It took 187 days for the liver to come out. 1015 pages of distributed full stack manuals are so delicious
- 树学习总结
- 1、 Reptile concept and basic process
- Brief introduction of Perl language
- 什么是堆栈以及堆栈的区别
猜你喜欢

入门数据库days1

Conception de l'interface UART basée sur la FPGA

Four principles of interface design

Using FRP to achieve intranet penetration

How to understand: common code block, construction block, static block? What does it matter?
![[shutter -- layout] linear layout (row and column)](/img/0e/df0f4bce73dd9785cc843adaf371d0.png)
[shutter -- layout] linear layout (row and column)

Testing scheme of granite dielectric constant by network

Multithreading and high concurrency Day11
[paper reading] gettext: trajectory flow map enhanced transformer for next POI recommendation

移动语义和完美转发浅析
随机推荐
Weights & Biases (一)
二叉树高度 [log2n]+1与log2(n+1)是否相等
UPC 2022 summer personal training game 12 (number of combinations b)
LeetCode每日一题(1514. Path with Maximum Probability)
总结一些最近见到的 TRICK
Multithreading and high concurrency Day11
TODO FIXME BUG TAG FEATURE 等配置
ES6其他语法及扩展语法总结
VB connecting access database customization
Little fish sends lidar | just dinner is the first lottery
Implementation of SPI communication protocol based on FPGA
Why are there Chinese materials and web pages for foreign chips?
PHP file lock lottery to prevent concurrency
Data link layer -------- Ethernet and ARP
Still using xshell? You are out. I recommend a more modern terminal connection tool
图学习总结
去中心化存储面临的挑战
界面设计四大原则
AE tutorial, how to animate illustrator layered documents in after effects?
入门数据库days1



