MYSQL必知必会读书笔记 第一章(基础)

 更新时间:2016年05月05日 11:21:39   作者:自然鸟神  
数据库(database)是一个以某种有组织的方式存储的数据集合。本文是小编日常收集整理些有关mysql的知识,非常具有参考价值,感兴趣的朋友一起学习吧

1.1 什么是数据库

数据库(database)是一个以某种有组织的方式存储的数据集合。 保存有组织的数据的容器(通常是一个文件或一组文件)

注意:人们通常使用数据库来代表他们使用的数据库软件。其实这是不正确的,确切的说,数据库软件应该成为DBMS(数据库管理系统)。数据库是通过DBMS创建和操作的容器。数据库可以是保存在硬件设备上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;你使用的是DBMS,它替你访问数据库。

1.2 表

表(table) 某种特定类型数据的结构化清单。

注意:表明的唯一性取决于多个因素,如数据库名和表名等的结合。这表示,虽然在相同的数据库中不能两次使用相同的表名,但是在不同的数据库中query可以使用相同的表名。
表具有一些特性,这些特性定义了数据在表中如何存储,可以存储什么样的数据,数据如何分解,各部分的信息如何命名。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库(和其中表的关系)

1.3 模式

模式(schema) 为关于数据库和表的布局及特性的信息。

注意:是模式还是数据库,有时模式作数据库的同义词。遗憾的是,模式的含义通常在上下文中并不是很清晰。

1.4 列

列(column) 表中的一个字段。所有表都由一个或多个列组成。

注意:分解数据。正确的将数据分解为多个列极为重要。例如城市、州、邮政编码应该总是独立的列。通过把它分解开,才有可能利用特定的列队数据同行排序和过滤。

1.5 数据类型

数据类型 (dataType) 所容许的数据的类型。每个表列都有相应的数据类型,它限制该列中存储的数据。

1.6 行

行(row) 表中的一个记录。

注意:是记录还是行? 你可能听到用户在提到行时称其为数据库记录。在很大程度上,这两个术语可以相互替代的,但是从技术上说,行才是正确的术语。

1.7 主键

主键(primary key) 一列(或 一组列) ,其值能够唯一区分表中的每一行。

注意:应该总是定义主键,虽然并不是总是都需要主键,但是大多数数据库设计人员都应该保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理。

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

* 任意两行都不具有相同的主键值。

* 每一个行都必须具有一个主键值(主键值的列不允许NULL值)

这里的规则是MySQL本身强制执行的

主键值使用的好习惯:

1. 不更新主键列中的值。

2. 不重用主键列的值;

3. 不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当改供应商合并和更改其名字时,必须更改这个主键)

相关文章

  • MySQL中冗余和重复索引的区别说明

    MySQL中冗余和重复索引的区别说明

    这篇文章主要介绍了MySQL中冗余和重复索引的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 阿里云ECS云服务器(linux系统)安装mysql后远程连接不了(踩坑)

    阿里云ECS云服务器(linux系统)安装mysql后远程连接不了(踩坑)

    这篇文章主要介绍了阿里云ECS云服务器(linux系统)安装mysql后远程连接不了(踩坑),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • MySQL存储引擎总结

    MySQL存储引擎总结

    这篇文章主要介绍了MySQL存储引擎总结,本文讲解了什么是存储引擎、MyISAM、InnoDB、MEMORY、MERGE等内容,需要的朋友可以参考下
    2014-09-09
  • MySQL数据库完全备份与增量备份详解

    MySQL数据库完全备份与增量备份详解

    这篇文章主要介绍了MySQL数据库完全备份与增量备份详解,完全备份就是将数据库中的数据及所有对象全部备份,具体详细内容需要的朋友可以参考一下
    2022-08-08
  • Mysql常用函数大全(分类汇总讲解)

    Mysql常用函数大全(分类汇总讲解)

    今天小编就为大家分享一篇关于Mysql常用函数大全(分类汇总讲解),小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Mysql子查询IN中使用LIMIT应用示例

    Mysql子查询IN中使用LIMIT应用示例

    有3张表,infor信息表,mconfig物料配置表,maaply物料申请表,要求是读出申请表中哪些人申请哪些物料,接下来为大家介绍下Mysql子查询IN中使用LIMIT
    2014-01-01
  • mariadb集群搭建---Galera Cluster+ProxySQL教程

    mariadb集群搭建---Galera Cluster+ProxySQL教程

    这篇文章主要介绍了mariadb集群搭建---Galera Cluster+ProxySQL教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MySQL使用C语言连接完整代码样例

    MySQL使用C语言连接完整代码样例

    这篇文章主要介绍了如何使用C语言连接MySQL数据库,包括安装MySQL连接库、初始化MySQL、连接数据库、执行SQL查询、获取查询结果、关闭连接等步骤,并提供了完整的代码示例,需要的朋友可以参考下
    2025-03-03
  • MySql连接查询方式详解

    MySql连接查询方式详解

    这篇文章主要介绍了mysql连接查询,当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回,本文给大家介绍的非常详细,需要的朋友参考下吧
    2022-09-09
  • MySQL中Replace语句用法实例详解

    MySQL中Replace语句用法实例详解

    mysql的replace函数是一个非常方便的替换函数,下面这篇文章主要给大家给大家介绍了关于MySQL中Replace语句用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论