3

【必知必会的MySQL知识】①初探MySQL - xiezhr

 1 year ago
source link: https://www.cnblogs.com/xiezhr/p/17343300.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

周所周知MySQL已成为全世界最受欢迎的数据库之一。无论你用的何种编程语言在开发系统,数据库基本上都是必不可少的。
无论是小型项目开发如我们开发一个个人博客系统,还是构建那些声名显赫的网站如某宝、某讯等,MySQL都有着稳定、可靠、快速等优点。可以胜任数据存储的业务需求。
我们今天就来一探MySQL,走入MySQL。

MySQL是什么?

数据库是以某种有组织的方式保存数据的容器,我们可以将其理解为一个文件柜。我们常见的容器有 Oracle、DB2、SQLServer、Postgresql、mongodb等,而MySQL就是这众多容器中的一种。

MySQL版本

迄今为止,MySQL最新版本是8.0 (8.0.30版本)。8.0版本也被寄予厚望。
自从被Oracle收购后,不少功能借鉴了Oracle优秀之处。
MySQL 8.0无论在功能还是性能(整体上),都是目前最好的MySQL版本。

我们将资料放入文件柜中时,并不是将它随便扔进某个抽屉就完事了,而是在文件柜中放入不同的盒子,然后将相关资料放入特定盒子中。这样需要的时候就可以快速而精准的找到我们需要的数据资料。

在数据库中,这个盒子就称为表。 是一种结构化文件,用来存储某种特定的数据,我们可以把用户信息、顾客信息、购物清单、商品信息等放入表中。
数据库中每个表都有一个名字,用来唯一标识自己。既然是唯一标识,那么这个名字就不能重复。

表中的列和数据类型

表是由 组成,一个表是由一个或多个列组成的。表中每一列都有对应的数据类型,而且这一列数据类型是一致的。

我们可以这样理解,一个表就是我们日常中用的excel表格。某一列存着特定的信息。
例如,一个表格中,一列存着用户名,一列存着密码,一列存着年龄。

下面总结一下常用的数据类型

数据类型大类 数据类型 类型说明
串数据类型 CHAR 1-255个字符定长串。长度必须在创建的时候指定,否则为CHAR(1)
串数据类型 ENUM 接受最多由64K个串组成的一个集合的某个串
串数据类型 TEXT 最大长度为64K的变长文本
串数据类型 LONGTEXT 与TEXT形同,最大长度为4GB
串数据类型 MEDIUMTEXT 与TEXT形同,最大长度为16K
串数据类型 TINYTEXT 与TEXT形同,最大长度为255字节
串数据类型 SET 接受最多64个串组成的一个集合的零个或多个串
串数据类型 VARCHAR 长度可变,最多不超过255字节
数值数据类型 BIT 位字段,1-64位
数值数据类型 BIGINT 数值型,支持-9223372036854775808至9223372036854775807 (如果是UNSIGNED,为0至18446744073709551615)
数值数据类型 BOOLEAN(或BOOL) 布尔类型,或者为0或者为1
数值数据类型 DECIMAL(或DEC) 精度可变的浮点值
数值数据类型 DOUBLE 双精度浮点值
数值数据类型 FLOAT 单精度浮点值
数值数据类型 INT(或INTEGER) 数值型,支持-2147483648至2147483647 (如果是UNSIGNED,为0至4294967295)
数值数据类型 MEDIUMINT 数值型,支持-6388608至8388607 (如果是UNSIGNED,为0至16777215)
数值数据类型 REAL 4字节浮点值
数值数据类型 SMALLINT 整数值,支持-32768至32767 (如果是UNSIGNED,为0至65536)
数值数据类型 TINYINT 整数值,支持-128至127 (如果是UNSIGNED,为0至255)
日期和时间数据类型 DATE 表示1000-01-01 至 9999-12-31的日期,格式为YYYY-MM-DD
日期和时间数据类型 TIME 表示00:00:00至23:59:59 格式为HH:MM:SS
日期和时间数据类型 DATETIME 表示DATE与TIME组合
日期和时间数据类型 TIMESTAMP 功能和DATETIME相同(但范围较小)
日期和时间数据类型 YEAR 用2位数字表示,范围是70(1970年)至 69(2069年);用4位数表示,范围是1901年至2155年
二进制数据类型 BLOB 最大长度位64KB
二进制数据类型 MEDIUMBLOB 最大长度为16MB
二进制数据类型 LONGBLOB 最大长度为4GB
二进制数据类型 TINYBLOB 最大长度为255字节

表中的数据是按存储的,所保存的每个记录存储在自己的行内。
有时候你可能会听到记录,记录跟行基本上是一个意思

唯一标识表中每行的这个列(或这组列)称为主键,其值能够唯一区分表中每各行。

表中任何列都可以作为主键,但需要满足以下条件

  • 任意两行都不具有相同的主键值
  • 每个行都必须具有一个主键值(主键列不允许NULL值)

主键通常定义在表的一列上,但不是必须的,可以一起使用多个列作为主键。在使用多个列作为主键时,所有列的组合必须时唯一的。

🚩 注意:

  • 尽量不更新主键列中的值
  • 不重用主键列中的值
  • 不在主键列中使用可能会更改的值

什么是SQL

SQL(发音为字母S-Q-L或sequel)是一种结构化查询语言。SQL是一种专门用来与数据库通信的语言。
SQL是由很少的词构成,是设计者有意而为。语言的主要目的是从数据库中读写数据
每个数据库会有不同的语法,但是90%的部分都是相通的。我们学好一个便可以举一反三了。

以上是MySQL的一些基本介绍,要学习MySQL,首先当然是要在自己电脑上安装MySQL了。
安装MySQL可以参照以下文章
mysql5.7安装教程

这一篇文章主要是对MySQL做了一个简单介绍,对MySQL是什么?为什么MySQL很有用以及数据库MySQL一些专有名词的介绍。
参照上面文章,相信你已成功安装上MySQL了。后续文章中,我们会在自己本机安装的MySQL数据库上实际操作或者通过刷题网站进行实战操作。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK