搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
知新_RL
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【软件测试面试秘籍】学会这8大技巧,轻松拿下年薪20W offer!
2
【本地部署大模型ChatGLM3-6B】_本地部署gptchatflgm 3-6b需要什么
3
大学生网课搜题神器?7个不限次的公众号和软件分享啦 #媒体#微信#职场发展
4
Eureka注册中心_euraka注册中心教程
5
python tkinter entry_Python之tkinter:Entry/Entry的Command
6
全面盘点多模态融合算法及应用场景_深度多模态融合算法
7
保姆级教程:我把 GPT-4 打造成了雅思口语私人教练!
8
【SQL Server用户自定义函数和用户自定义函数(内嵌表值函数)】_sql server 自定义函数
9
yolov7模型训练结果分析以及如何评估yolov7模型训练的效果_yolo中objectness下降很慢
10
2019-07-04:python音频处理库_wav格式音乐添加歌手名
当前位置:
article
> 正文
MySQL数据库简介_第一篇(非常详细)
作者:知新_RL | 2024-06-30 06:04:28
赞
踩
mysql数据库
一、了解MySQL
1. 数据库基础
在深入学习MySQL及其SQL语言的实现之前,应该对数据库及数据库技术的某些基本概念有所了解。
1.1 什么是数据库
数据库是一个以某种有组织的方式存储的数据集合。
理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。
数据库(database): 保存有组织的数据的容器(通常是一个文件或一组文件)。
误用导致混淆 :
人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的,它是引起混淆的根源。确切地说,数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器,你并不直接访问数据库。你使用的是DBMS,它替你访问和操纵数据库。
1.2 表和模式
1.2.1 表
表(table):某种特定类型数据的结构化清单。
在你将资料放入自己的文件柜时,并不是随便将它们扔进某个抽屉就完事了,而是在文件柜中创建文件,然后将相关的资料放入特定的文件中。
在数据库领域中,这种文件称为表。表是一种结构化的文件,可用来存储某种特定类型的数据。
表可以保存顾客清单、产品目录,或者其他信息清单。
关键的一点在于,存储在表中的数据是同一种类型的数据或一个清单。
决不应该将顾客的清单与订单的清单存储在同一个数据库表中。这样做将使以后的检索和访问很困难。应该创建两个表,每个清单一个表。
数据库中的每个表都有一个名字,用来标识自己。
此名字是唯一的,这表示数据库中没有其他表具有相同的名字。
1.2.2 模式
模式(schema):关于数据库和表的布局及特性的信息。
表具有一些特性,这些特性定义了数据在表中如何存储,如可以存储什么样的数据,数据如何分解,各部分信息如何命名,等等。
描述表的这些特性信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库(和其中表的关系)
注意:
有时,模式用作数据库的同义词。遗憾的是,模式的含义通常在上下文中并不是很清晰。在这里,模式指的是上面给出的定义。
1.3 列和数据类型
表由列组成。列中存储着表中某部分的信息。
1.3.1 列
列(column):表中的一个字段/属性。所有表都是由一个或多个列组成的。
理解列的最好办法是将表想象为一个网格。网格中每一列存储着一条特定的信息。例如,在顾客表中,一个列存储着顾客编号,另一个列存储着顾客名,而地址、城市、州以及邮政编码全都存储在各自的列中。
分解数据:正确地将数据分解为多个列极为重要。
例如,城市、州、邮政编码应该总是独立的列。通过把它分解开,才有可能利用特定的列对数据进行排序和过滤。
1.3.2 数据类型
数据类型(datatype):所容许的数据的类型。每个表的列都有相应的数据类型,它限制(或容许)该列中存储的数据。
数据类型定义列可以存储的数据种类。
例如,如果列中存储的为数字(或许是订单中的物品数),则相应的数据类型应该为数值类型。
数据类型限制可存储在列中的数据种类(例如,防止在数值字段中录入字符值)。
数据类型还帮助正确地排序数据,并在优化磁盘使用方面起重要的作用。
1.4 行/记录
行(row):表中的一个记录。
表中的数据是按行存储的,所保存的每个记录都存储在自己的行内。
如果将表想象为网格,则网格中垂直的列为表列,水平行为表行。
是记录还是行? 你可能听到用户在提到行(row)时称其为数据库记录(record)。在很大程度上,这两个术语是可以互相替代的,但从技术上说,行才是正确的术语。
1.5 主键
主键(primary key):一列(或一组列),其值能够唯一区分表中每一行。
表中每一行都应该有可以唯一标识自己的一列(或一组列)。
例如,一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用雇员ID或雇员社会保险号。
没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。
主键值规则(强制实施):
每个表只能拥有一个主键;
任意两行都不具有相同的主键值;
每个行都必须具有一个主键值(主键列的数据不允许NULL值)。
表中的任何列都可以作为主键,通常定义在表的一列上,
但也可以一起使用多个列作为联合主键。在使用多列组合作为一个联合主键时,上述规则必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)
使用主键的好习惯:
不更新主键列中的值;
不重用主键列的值;
不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)
还有一种非常重要的键,称为外键,我们不在此处介绍了。
二、什么是SQL
SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。
SQL是一种专门用来与数据库通信的语言。
SQL有如下的优点:
SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。
SQL简单易学。它的语句全都是由描述性很强的英语单词组成,而且这些单词的数目不多。
SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
三、什么是MySQL
我们在前面说到,数据的所有存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。
MySQL是一种DBMS,即它是一种数据库软件。
1. 客户机—服务器软件
服务器软件是与数据文件打交道的软件。
关于数据、数据添加、删除和数据更新的所有请求都由服务器软件完成。这些请求或更改来自运行客户机软件的计算机。
客户机软件是与用户打交道的软件。
例如,如果你请求一个按字母顺序列出的产品表,则客户机软件通过网络提交该请求给服务器软件。服务器软件处这个请求,根据需要过滤、丢弃和排序数据;然后把结果送回到你的客户机软件。
为了使用MySQL,你需要访问运行MySQL服务器软件的计算机和发布命令到MySQL的客户机软件的计算机。
服务器软件为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本。
客户机可以是MySQL提供的工具、脚本语言(如Perl)、Web应用开发语言(如ASP、ColdFusion、JSP和PHP)、程序设计语言(如C、C++、Java)等。
2. MySQL工具
如前所述,MySQL是一个客户机—服务器DBMS,因此,为了使用MySQL,需要有一个客户机,即你需要用来与MySQL打交道(给MySQL提供要执行的命令)的一个应用。
有许多客户机应用可供选择,但在学习MySQL(确切地说,在编写和测试MySQL脚本时),最好是使用专门用途的实用程序。
这里只简单介绍一个mysql命令行实用程序
每个MySQL安装都有一个名为mysql的简单命令行实用程序。这个实用程序没有下拉菜单、流行的用户界面、鼠标支持或任何类似的
东西。在操作系统命令提示符下输入mysql将出现一个如下的简单提示:
MySQL选项和参数
如果仅输入mysql,可能会出现一个错误消息。因为可能需要安全证书,或者是因为MySQL没有运行在本地或默认端口上。mysql接受你可以(和可能需要)使用的一组命令行参数。例如,为了指定用户登录名ben,应该使用mysql -u ben。
这里只是简单介绍,有关MySQL工具在网页上有很多,大家可以自行百度安装。强烈建议使用图形实用程序。
四、总结
本文只是简单介绍了数据库的一些基本概念,并未深入解释每一个命令和用法。
至于操纵MySQL的具体命令和用法,博主将在后续专栏博客中分享。
如果本文有不足之处,欢迎各位大佬批评指正。若本文对您有帮助的话,就给小白博主点个赞吧!欢迎在评论区一起交流学习哦!我们下次再见!!
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
Spark
读写
MySQL
数据库_
spark
mysql
...
使用
Spark
读写
MySQL
数据_
spark
mysql
spark
mysql
...
赞
踩
article
【
flink
实战】
flink
-
connector
-
mysql
-
cdc
导致
mysql
连接器
报
类型转换
错...
【
flink
实战】
flink
-
connector
-
mysql
-
cdc
导致
mysql
连接器
报
类型转换
错误【
flink
实战】...
赞
踩
article
60、
Flink
CDC
入门介绍及
Streaming
ELT示例(同步
Mysql
数据库数据到Ela...
本文介绍的
CDC
是基于2.4版本,当前版本已经发布至3.0,本
Flink
专栏介绍是基于
Flink
1.17版本,
CDC
...
赞
踩
article
Python
+
Django
+
Mysql
简单在线
电影
推荐
系统 基于用户、项目、内容的
协同
过滤
推荐
算法 ...
Python
+
Django
+
Mysql
简单在线
电影
推荐
系统 基于用户、项目、内容的
协同
过滤
推荐
算法 SimpleWebM...
赞
踩
article
mysql
set 事务_
mysql
事务,SET
AUTOCOMMIT
,
START
TRANSACT...
http://yulei568.blog.163.com/blog/static/1358867200710124444...
赞
踩
article
MySQL
中的
SET
与
ENUM
类型
使用详解_
mysql
中
enum
和
set
...
MySQL
中的
SET
与
ENUM
类型
使用详解一、
SET
类型
在创建表时,就指定
SET
类型
的取值范围。属性名
SET
...
赞
踩
article
mysql
:列
类型
之
enum
、
set
_
mysql
enum
...
环境:window10vs2022.net 6
mysql
8.0.25DBeaver参考:《
mysql
:11.3.5 T...
赞
踩
article
mysql
set
类型
查询
_MYSQLSET字段
类型
怎么
查询
...
昨天自己在写一个dedecms功能时突然用到了解dedecms中flag字段,但里面用的是
set
类型
,开始直接
查询
whe...
赞
踩
article
Mysql
set
字段
类型
剖析_
mysql
set
类型
的
字段
...
set
类型
简介最近项目中使用了
set
类型
去定义一个常量集合
字段
,为了深入了解该
类型
用法去官方文档学习了一下并进行了一些用...
赞
踩
article
mysql
set
类型
的
用户
变量
,
mysql
用户
变量
与
set
语句
示例详解...
1
用户
变量
介绍
用户
变量
即
用户
自己定义
的
变量
,我们可以给
用户
变量
分配值,并且可用在任何可以正常使用标量表达式
的
地方。引入...
赞
踩
article
mysql
set
字段_
MySQL
的
SET
字段类型...
SET
是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个
SET
成员的
SET
列值时各成员...
赞
踩
article
计算机
毕业设计
近几年
参考文献
(
java
、
node
、
vue
、
mysql
....)_
vue
参考文献
近三年...
计算机
毕业设计
近几年
参考文献
(
java
、
node
、
vue
、
mysql
....)_
vue
参考文献
近三年
vue
参考文献
近三年...
赞
踩
article
mysql
function
select
赋值
_
MySQL
变量
(二十五)...
在本教程中,您将学习如何在SQL语句中使用
MySQL
用户定义的
变量
。
MySQL
用户定义
变量
简介有时候,您希望将值从SQL...
赞
踩
article
Mysql
SET
语法_
mysqlset
语句
...
13.5.3.
SET
语法
SET
variable_assignment [, variable_assignment]...
赞
踩
article
【
mysql
】
SET
类型
_
mysql
set
...
SET
类型
SET
表示一个字符串对象,可以包含0个或多个成员,但成员个数的上限为64。设置字段值时,可以取 取值范围内的 ...
赞
踩
article
mysql
只读
数据类型
_MYSQL
数据类型
...
概述当你学习一门数据库语言的时候了解其
数据类型
尤为的重要,接下来会详细讲解MYSQL支持的每一种
数据类型
。所有的测试基于...
赞
踩
article
MySQL 中的
SET
与
ENUM
类型使用详解_
sql
枚举型
enum
和
set
...
一、
SET
类型在创建表时,就指定
SET
类型的取值范围。 [
sql
] view plain copy 属性名
SET
('值...
赞
踩
article
MySQL
SET
数据类型
...
SET
:多选字符串
数据类型
,适合存储“多个值”。 设定set的时候,同样需要设定“固定的几个值”;存储的时候,可以存储...
赞
踩
article
【
Mysql
系列】从零开始学
MySQL
:
Docker
部署快速上手_
docker
+
mysql
...
优点:
Docker
容器提供了隔离的环境,可以防止
MySQL
与主机系统或其他应用程序之间发生冲突。这可以防止由于不同...
赞
踩
article
mysql
将
date
字段
默认值
设置
为
CURRENT
_
DATE
_
mysql
设置
默认值
为当前日期...
mysql
中,8.0.13版本之后的允许将Date字段的
默认值
设置
为
CURRENT
_
DATE
(当前日期),但是之前的版本...
赞
踩
相关标签
数据库
spark
mysql
flink
kafka
flink hive
flink sql
elasticsearch
flink cdc
django
python
推荐系统
协同过滤
mysql set 事务
MySQL
SET
ENUM
database
mysql set类型 查询
mysql set类型的用户变量
mysql set字段
课程设计
java
vue.js