《MySQL必知必会》第1、2章 笔记

《MySQL必知必会》(微信读书)

第1章 了解SQL 

1.1 数据库基础

1.1.1 什么是数据库(database)

数据库是一个以某种有组织的方式存储的数据集合

数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件)

人们经常混淆数据库和DBMS,把DBMS当做数据库

数据库是可以保存在硬件设备上的文件,它是可以通过DBMS创建和操作的容器

DBMS是代替你访问数据库的工具

1.1.2 表(table)

某种特定类型数据的结构化清单

  • 不同类型的数据应该用不同的表存储:例如顾客和顾客订单

  • 数据库中的表名唯一,用来标识自己

  • 同一数据库中不能有相同表名,但不同数据库中可以有相同表名

模式:关于数据库和表的布局及特性的信息

  • 表的一些特性决定了数据在表中如何存储、可以存什么样的数据、数据如何分解、各部分信息如何命名等 👉 模式

  • 用来描述数据库中特定的表以及整个数据库

  • 有时,模式用作数据库的同义词

1.1.3 列(column)和数据类型(datatype)

表由列组成,列存储这表中某部分的信息

列是表中的一个字段,所有表都是由一个或多个列组成

把数据库表想象成一个网格,每一列都存储着一条特定的信息 👉 分解数据

数据库中每个列都有相应的数据类型

  • 数据类型可以限制存储在列中的数据种类

  • 还能帮助正确地排序数据

1.1.4 行(row)

虽然表由列组成,但是表中的数据是按行存储的

行:是表中的一个记录

1.1.5 主键(primary key)

表中每一行都应该有可以唯一标识自己的一列(或一组列)

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

  • 每个表都应该确保有一个主键

  • 没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行

表中的任何列都可以作为主键,只要它满足以下条件:

  • 任意两行都不具有相同的主键值(即主键的值不重复)

  • 每个行都必须具有一个主键值(主键列不允许NULL值,即主键不为空)

  • 主键值规则:MySQL本身强制实施的

所以主键可以不唯一

在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)

关于主键的好习惯

  • 不更新主键列中的值

  • 不重用主键列的值

  • 不在主键列中使用可能会更改的值(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键;但如果用数字或字母来表示,则可能可以不用更改)

还有外键


1.2 什么是SQL

Structured Query Language 结构化查询语言

是一种专门用来与数据库通信的语言

SQL语言的优点

  • 几乎所有重要的DBMS都支持SQL

  • 简单易学

  • 但是十分强力

MySQL的多数语法也适用于其他DBMS,但并不是完全适用(实现方式各不相同)


1.3 动手实践

~

1.4 小结

什么是SQL、为什么SQL很有用,因为SQL是用来和数据库打交道的

一些基本的数据库术语:数据库、表、列、数据类型、行、主键、外键


第2章 MySQL简介

2.1 什么是MySQL?

MySQL是一种DBMS,即它是一种数据库软件

被全世界广泛使用的原因

  • 成本:开源、免费

  • 性能

  • 可靠

  • 简单

MySQL受到的唯一真正的批评是它并不总是支持其他DBMS提供的功能和特性。然而,这一点也正在逐步得到改善,MySQL的各个新版本正不断增加新特性、新功能

2.1.1 客户机——服务器软件

DBMS可分为两类:

  • 一类为基于共享文件系统的DBMS

    • 诸如Microsoft Access和FileMaker用于桌面用途,通常不用于高端或更关键的应用

  • 另一类为基于客户机——服务器的DBMS

    • MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机——服务器的数据库

客户机—服务器应用分为两个不同的部分:客户机的数据库软件、服务器的数据库软件

服务器部分是负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务器的计算机上。与数据文件打交道的只有服务器软件:关于数据、数据添加、删除和数据更新的所有请求都由服务器软件完成

例如,如果你请求一个按字母顺序列出的产品表,则客户机软件通过网络提交该请求给服务器软件(客户机软件 👉 服务器软件)。服务器软件处理这个请求,根据需要过滤、丢弃和排序数据;然后把结果送回到你的客户机软件

客户机和服务器软件可能安装在两台计算机或一台计算机上。不管它们在不在相同的计算机上,为进行所有数据库交互,客户机软件都要与服务器软件进行通信

所有这些活动对用户都是透明的(看不见的,隐藏的)。数据存储在别的地方,或者数据库服务器为你完成这个处理这一事实是隐藏的。你不需要直接访问数据文件。事实上,多数网络的建立使用户不具有对数据的访问权,甚至不具有对存储数据的驱动器的访问权

这样的意义何在?因为为了使用MySQL,你需要发布命令到 MySQL的客户机软件 的计算机访问运行 MySQL服务器软件 的计算机 (这块我其实没有很懂)

  • 服务器软件为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本

  • 客户机可以是MySQL提供的工具、脚本语言(如Perl)、Web应用开发语言(如ASP、ColdFusion、JSP和PHP)、程序设计语言(如C、C++、Java)等

我的理解如下图(不知道对不对)

2.1.2 MySQL版本

2.2 MySQL工具

MySQL是一个客户机——服务器DBMS。有许多客户机应用可供选择

2.2.1 mysql命令行实用程序

 出自黑马程序员-mysql


2.2.2 MySQL Administrator

MySQL Administrator(MySQL管理器)是一个图形交互客户机,用来简化MySQL服务器的管理。

2.2.3 MySQL Query Browser

MySQL Query Browser为一个图形交互客户机,用来编写和执行MySQL命令


2.3 小结

介绍了什么是MySQL,以及一些MySQL工具


我目前用过navicat,所以以下是mysql和navicat的安装参考

Mysql的安装

视频:黑马程序员-mysql的安装、启动与停止、客户端连接

他人博客:多加点辣也没关系-MySQL的安装(详细教程)

Navicat的安装

他人博客:普通网友-[新人向]MySQL和Navicat下载、安装及使用详细教程

DataGrip的安装

视频:黑马程序员 - 图形化界面工具 DataGrip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值