入门小白学MySQL必看知识点!!!

本文介绍了MySQL数据库的基础知识,包括数据和数据库的定义、数据库的发展阶段、数据库系统组成,重点讲解了关系型数据库的概念。同时,详细阐述了MySQL的安装、启动和停止服务,以及如何使用命令行和图形化工具Navicat连接MySQL。此外,讨论了数据类型的选用,数据完整性的概念,如主键、唯一键和外键,以及如何设置这些约束。最后,举例说明了如何创建和管理数据表结构。
摘要由CSDN通过智能技术生成

第1章 MySQL 数据库基础

1.1.1 数据和数据库定义

数据 广义的理解数据,它包含很多的种类,如文字、图形、图像、声音以及学生的档案记录等,这些都是数据。 数据库 数据库(DataBase,DB)是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的有组织、可共享统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。 数据库包含两种含义:保管数据的“仓库”,以及管理数据的方法和技术。

1.1.2 数据库发展阶段

人工管理阶段

文件管理阶段

数据库系统阶段

1.1.3 数据库系统组成

数据库 数据库是用于存储数据的存储空间。 数据库管理系统 DBMS 主要是进行数据的创建(Create)、读取(Read)、更新(Update) 以及删除(Delete)等数据操作。 常见的数据库管理系统有甲骨文公司的 Oracle、IBM 公司的 DB2、微软公司的 Access 与 SQL Server 、 MySQL。 数据库应用程序 为方便终端用户,需要使用定制的、更为简洁的应用程序(Application Program) 来利用数据库, 这些应用程序称为数据库应用程序(Database Application  Program)

1.1.3 数据库系统组成

(提醒:)通常我们所说的“数据库”为广义的数据库,它特指某一具体的数据库管理系统,如 MySQL5.6、SQL Server2012 以及 Oracle11g 等,而不是狭义的数据库。广义数据库是由存储在狭义数据库中的数据以及管理这 些数据的工具软件所组成。

1.1.4 关系型数据库

数据库按数据的保存方式以及构造分为层次型数据库、网络型数据库、关系型数据库和对象数据库。当前,主流数据库都是关系型数据库(Relational Database,RDB)。 对于关系型数据库而言,关联的一系列数据都是以表的形式保存,类似于 Excel 软件创建的二元表格的形式,表内的各数据项被称为列(Column)或域(Field),一组或一行数据被称为记录(Record)。 关系型数据库中表的每一列都有唯一的列名,且该列所有的数据均为同一种数据类型,列在表中的次序无关紧要; 表中的每一行代表一条记录,表中的任意两行记录不能完全相同,行在表中的顺序也无关紧要。

排名序

云计算平台名

1

亚马 AWS

全球最早推出的云计算服务平

2

 Azure

融合本 IT 设施和公有

3

IBM 

 IaaSPaaS 及开发者服务的集成平

4

谷歌

云数据库丰

5

Salesforce 

Salesforce 为全 CRM(客户关系管理)行业的领导

6

阿里

国内云计算领域的龙

7

Oracle 

提供了全面、集成的云服

8

Rackspace 

一家全球领先的托管服务提供

9

Virtustream 

为政府和企业客户提供云端服

10

富士通

富士通和微软在全球范围内共享数据中

1.2.1 MySQL 介绍

MySQL 是一个开放源码的小型关系型数据库管理系统。 目前 Internet 上流行的网站 架构方式是 LAMP(Linux+Apache+MySQL+PHP) 使用 Linux 作为操作系统,Apache 作为 Web 服务器,MySQL 作为数据库,PHP 作为服务器脚本解释器。 针对不同的用户,MySQL 分为两种不同的版本: MySQL Community Server(社区版服务器)。 MySQL Enterprise Server(企业版服务器)。

1.2.2 安装 MySQL

官网下载MySql安装文件 mysql-installer-community-5.6.22.0.msi

1.2.3 启动和停止 MySQL 服务

在安装 MySQL 时, 系统会默认将 MySQL 配置为 Windows 系统服务。

2. 使用 MySQL 命令启动和停止 MySQL 服务

(注意:)在“net start mysql56”和“net stop mysql56”命令中,“mysql56”是 MySQL 的服务名

1.2.4 实践练习

实现思路:

单击“ 开始” →“ 运行”, 输入“services.msc”, 单击“ 确定” 按钮, 即可弹出 Windows 服务窗口,  在该窗口找到 MySQL 服务名“mysql56”, 右键单击“mysql56” 弹出快捷键, 选择“ 启动” 或“ 停止” 即可 启动或停止 mysql56 服务。 鼠标右键单击“计算机”,在弹出的菜单中单击“管理”,在弹出的“计算机管理”窗口中双击“服务和应 用程序”,然后单击“服务”选项,也可弹出 Windows 服务窗口。 使用 Windows 操作系统的控制面板也可以找到 Windows 服务窗口。

在 Windows 服务窗口双击“mysql56”服务,通过弹出的对话框可以看到当前 MySQL 服务的状态,还可 以启动与停止 MySQL 服务,以及设置 MySQL 服务的启动类型(“自动”“手动”或“禁用”)。 使用 MySQL 命令启动和停止 MySQL 服务的语句如下。 启动 MySQL 服务:net start mysql56。 停止 MySQL 服务:net stop mysql56。

1.3 客户端连接 MySQL 服务

MySQL 客户端连接 MySQL 服务器的步骤如下: 数据库需要启动用户开启 MySQL 客户端(如 MySQL 自带客户端、CMD 命令提示符窗口)。 数据库用户在 MySQL 客户端上输入连接信息才可以进行身份认证。 身份认证通过后,才可以才能建立 MySQL 客户端与MySQL 服务器的“通信链路”,继而 MySQL 客户端才可以能够“享 受”MySQL 服务。

1.3.1 自带客户端连接 MySQL 服务器

点击“所有程序” “MySQL Server5.6” “MySQL5.6 Command Line Client” 输入 正确的 root 账户密码

1.3.2 通过命令连接 MySQL 服务器

配置 Windows 环境变量的 PATH 系统变量 右键单击“计算机”,在弹出的菜单中单击“属性”,弹出系统属性窗口,选择“高级系统设置”选项卡, 单击“环境变量”按钮。 在“系统变量”区域找到“Path”变量后进行双击,弹出“编辑系统变量”对话框。 将光标定位到变量值文本框的最后, 输入“;”, 然后将 MySQL 的 bin 目录“C:\Program Files\MySQL\  MySQL Server 5.6\bin”添加到变量值文本框末尾。

1.3.2 通过命令连接 MySQL 服务器

打开新的CMD 命令提示符窗口,重新输入“mysql --help”命令,验证 MySQL 是否成功成为Windows 外部命令。

1.3.2 通过命令连接 MySQL 服务器

语法:mysql -h MySQL 服务器主机名或 IP 地址 -P 端口号 -u 账号 -p 密码

实例:mysql -h 127.0.0.1 -P 3306 -u root -pabc123; 或 mysql -h localhost -P 3306 -uroot -pabc123;

注意:mysql -h 127.0.0.1 -P 3306 -u root -pabc123; 或 mysql -h localhost -P 3306 -uroot -pabc123;

1.3.2 通过命令连接 MySQL 服务器

为了防止账号密码泄露,-p 之后紧跟密码并非明智之举,建议使用“mysql -h 127.0.0.1 -u root -p”,然后输 入 root 账号的密码连接 MySQL 服务器

1.4 Navicat for MySQL 介 绍

Navicat for MySQL 是一款流行的 MySQL 图形化管理工具 Navicat for MySQL 工作界面

1.4.1 使用 Navicat for MySQL 连接 MySQL 服务器

单击“连接”按钮,出现“新建连接”窗口。 分别输入连接名、MySQL 服务器主机地址、服务 端口号、用户名和密码,单击“确定” 按钮。 单击“mysql-1”连 接成功登入 MySQL 服务器。

MySQL 5 种常见的系统数据库 information_schema 数据库 mysql 数据库 performance_schema 数据库 sakila 数据库 test 数据库

1.4.3 创建用户自定义数据库

右键单击连接名,如 mysql-1,在弹出的快捷菜单中选择“新建数据库” 在弹出的“新建数据库”对话框中输入数据库名”bus” 字符集选项需下拉选中“utf8—— UTF-8 Unicode” 单击“确定”按钮

1.4.4 删除数据库

右键单击 bus 数据库,在弹出的快捷菜单中选择“删除数据库”,即可删除该数据库

注意:

删除 bus 数据库后,MySQL 服务实例会自动删除 bus 数据库目录中的所有文件,数据库一旦删除,保存在该数据库中的数据将全部丢失,所以该操作需慎用。

1.4.5 数据库数据导出 / 导入

数据库数据导出 选中所需导出的数据库(如 bus),右键弹出对话框,选择“转储 sql 文件 ...” 选择转储的 SQL 文件的保存位置 输入 SQL 文件名和保存类型(默认文件名与导出的数据库同名,保存类型为 sql 类型),点击“保存”生成数据库所导出的 SQL 文件,如 bus.sql。

数据库数据导入 创建需要导入的数据库(如 bus) 选中需要导入的数据库 bus,右键弹出对话框,选择“运行 sql 文件 ...” 选择需要运行的 SQL 的文件 点击“开始”,如果出现“executed successfully”字样,则表明保存在 bus.sql 文件中的数据成功恢复 至 bus 数据库中

总结:数据库是一个长期存储在计算机内的有组织、可共享的和统一管理的数据集合。它是一个按数据结构来存储和管 理数据的计算机软件系统。数据库包含两种含义:保管数据的“仓库”,以及管理数据的方法和技术。 数据库系统主要由数据库、数据库管理系统、数据库应用程序和数据库管理员(DBA)等组成。 启动 MySQL 命令:net start MySQL 服务名。 停止 MySQL 服务:net stop MySQL 服务名。 连接 MySQL 服务器的命令:“mysql – h MySQL 服务器主机名或 IP 地址 -P 端口号 -u 账号 -p 密码”

第2章 表结构管理

2.1.1 关系模型

关系模型是由若干个关系模式组成的集合,关系模式的实例称为关系,每个关系实际上是一张二维表格。 关系模型用键导航数据,其表格简单。

订单号

客户 ID

下单时间

订单金额

订单状态

DD201805200001

C10001

2018-5-2019:20:03

322.5

商品出库

DD201805220001

C10003

2018-5-229:13:20

530

物流揽收

DD201805220002

C10002

2018-5-2214:42:31

123.56

发往目的地

DD201805260002

C10001

2018-5-2610:13:25

210.2

客户签收

2.1.1 关系模型

关系数据库是以关系模型为基础的数据库,是一种根据表、元组(记录)以及字段(列)之间的关系进行组织和访问数据的数据库,其通过若干个表来存取数据,并且通过关系将这些表联系在一起。

关系模型中的术语:  关系(Relation)  元组(Tuple)  属性(Attribute)  主键(Key)  关系模式

2.1.2 数据表

对于关系型数据库而言,一张表就是一个关系 在数据库中,数据表是数据存储的基本单位,是数据库中最重要、 最基本的操作对象。 数据表被定义为列的集合, 数据在表中是按照行和列的格式来存储的。 每一行代表一条唯一的记录,每一列代表记录中的一个域。

2.2.1 MySQL 数据类型

类型分类

类型

取值范围或描述

示例

整数类型

tinyint

0 ~255

员工年龄:32

smallint

-32768~32767

员工数:2540

int

-2147483648~2147483647

中国人口数:1354040000

小数类型

decimal

decimal(5,2)表示小数的取值范围是-999.99~999.99

商品单价:892.35

定长字符串类型

char

char(10) 表示字符串存储 10 个字符,即便该字符串只有一个字符, 它所占用的存储空间也是 10 个字符空间大小

公司名:HUAWEI

变长字符串类型

varchar

varchar(10) 表示字符串最多存储10 个字符,如果该字符串仅包含一个字“中”,那么它所占用的存储空间也只是一个字符空间大小。定义 varchar 类型可节省存储空间

公司地址:武汉洪山区珞瑜路 546 路光谷科技会展中心

2.2.1 MySQL 数据类型

MySQL 常见数据类型

类型分类

类型

取值范围或描述

示例

日期类型

date

格式:YYYY-MM-DD(年 - 月- 日)取值范围:1000-01-01 ~ 9999-12-31

出生日期:1982-03-24

日期类型

time

格式:HH:MM:SS(时 : 分钟 : 秒)取值范围:-838:59:59 ~ 838:59:59

注意:时间不限当天

早晨上班时间:08:30:00

datetime

格式:YYYY-MM-DD HH:MM:SS

取 值 范 围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

登 机 时 间:2015-05-1214:35:0

2.2.2 使用 Navicat for MySQL 创建数据表结构

数据库 bus 中公交线路表line

线路号

所属分公司

起点站

终点站

线路长度(km)

车辆数

502

公交六公司

黄州街 108 街坊

桥口码头

23.7

15

503

公交二公司

文馨街文昌街口

沿江大道青岛路口

22.5

20

541

公交三公司

江盛路长江紫都

长丰大道东风村

27.3

17

605

公交三公司

古田二路翠堤春晓

梨园广场

24.4

16

607

公交四公司

园林路钢都花园

玉龙路朱家亭

28.2

19

609

公交五公司

沿河大道桥口码头

南湖公交场站

18.2

14

620

公交二公司

康居五路

汉黄路岱家山

16.2

12

2.2.2 使用 Navicat for MySQL 创建数据表结构

线路表表结构

字段名

 

 

 

lineNo

线路号

varchar

10

company

所属分公司

varchar

20

from_station

起点站

varchar

20

to_station

终点站

varchar

20

miles

线路长度

decimal(3,1)

number

车辆数

smallint

注意:线路号虽然显示为数字,但不宜采用数字类型,只能是字符串类型。因为线路号与身份证号类似,不仅有一定的编码规则,还可能出现字母

2.3.1 数据完整性

为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改以及删除等操作时,DBMS 自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 数据完整性用于保证数据库中的数据在逻辑上的一致性、正确性和可靠性。 数据完整性主要包含:实体完整性、域完整性和参照完整性

2.3.2 实体完整性约束

实体完整性规定表的每一行记录在表中是唯一的 实体完整性主要包含主键约束和唯一约束

主键约束(Primary Key Constraint)用于唯一识别每一条记录,数据表中具有唯一值的字段可设定为主键字段。 主键选择策略 工程实践所推荐的做法是:新增一个无业务含义的字段作为主键,该字段为整数类型,且字段值自动增长。 线路表主键选择 在线路表中新增一个 int 类型的字段“线路编号(lineID)”,将该字段设置为主键且自动增长。当“线路编号”设置为自动增长时,则每次新增线路的“线路编号”值将从 1 开始,且每次递增 1。

在线路表中设置主键和主键自增长的具体做法如下: 新增字段“线路编号(lineID)”,设置该字段为 smallint 类型。 选中字段“lineID”,单击“           ”,即设置“lineID”为主键,并勾选“自动递增”

注意:每个数据表只能有一个主键。设定为主键的字段内容不能有重复值,且不能为 null 值。

唯一约束(Unique Constraint):如果某个字段满足唯一性约束要求,则可以向该字段添加唯一性约束。 与主键约束相比,唯一约束也用于确保列中不存在重复值,但其列值可以是 null。

注意:主键约束要求列值非空,而唯一键约束允许列值为空。

2.3.3 域完整性

域完整性指给定列输入的有效性,即保证指定列的数据具有正确的数据类型、格式和有效的数据范围。 域完整性主要包含非空约束、默认值约束。

非空约束(Not Null Constraint):如果某个字段满足非空约束的要求,则应该在字段上设置非空约束。

实例:在线路表“所属公司”设置非空约束,只需在线路表设计窗口中选中“company”,取消勾选“允许空值”即可。

默认值约束(Default Constraint):如果某个字段满足默认值约束的要求,可向该字段添加默认值约束。

实例:在“company”列上设置默认值约束,默认值为“公交二公司”。

2.4.1 外键

在公交管理系统中规定营运车辆都隶属于某个具体的公交线路。因此应在车辆表设计一个字段,该字段与线路表的主键 lineID 的数据类型和长度大小应完全一致,并且值也参照线路表中的主键值。 这种参照其他表中主键的字段称为外键。

2.4.2 参照完整性定义

参照完整性是指通过定义一张表中外键与另一张表中主键之间的引用规则来约束这两张表之间的联系。 参照完整性的目的 利用关联表之间的制约机制互相参照,控制表间数据的一致性和完整性。这种制约机制会在用户执行插入、修改或删除记录等编辑记录的操作时,发挥其限制作用。参照完整性有效地限制了对表中数据的非法编辑,参照完整性的实质就是不允许在相关数据表中引用那些不存在的记录。

参照完整性相关术语 从表:含有外键且参照其他表的表,如车辆表。从表亦称作“子表”或“参照表”。 主表:被其他表参照的表,如线路表。主表亦称作“父表”或“被参照表”。 外键:从表中的参照列称为外键,外键名与被参照的主表中的主键数据类型应完全一致,但可以不同名。如车辆表中的字段“线路”。 被参照列:主表中的被参照列通常为主表的主键(也可以为唯一键)。如表的主键 lineID 为被参照列。

2.4.3 设置外键约束实现参照完整性

公交车辆表 vehicle 的表结构:

 字段名

说明

类型

长度

约束

 vehicleID

车辆编号

int

主键、自动增长

 plateNo

车牌号

varchar

10

非空

 model

型号

varchar

20

 type

类型

varchar

20

普通车、空调车

 lineID

线路编号

int

外键,参照 line 表

总结:

数据完整性确保数据库中存储的数据正确、有效和相容。 数据完整性包括实体完整性、域完整性和参照完整性。 实体完整性约束包括主键约束和唯一约束。 域完整性约束包括非空约束和默认值约束。 参照完整性是指通过定义一张表中外键与另一张表中主键之间的引用规则来约束这两张表之间的联系。 参照其他表主键或唯一约束列的字段称为外键,外键用于实现参照完整性。包含外键的表称为从表或子表。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值