MySQL必知必会读书笔记——第一章了解SQL

什么是数据库?

定义:保存有组织的数据的容器(一般是一个文件或者一组文件)

通常我们认为网站的数据是直接从数据库中获取,这里的数据库一词其实指的是数据库管理系统(DBMS)

什么是表?

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

存储在表中的数据是一种类型的数据,比如用户表,那么肯定都是存储的用户信息,不可能将订单的信息放到用户信息清单里面,那么会显得很乱。

模式

定义:关于数据库和表的布局以及特性的信息

列和数据类型

表由列组成。

列定义:表中的一个字段,所有表都是有一个或多个列组成的。

比如:

姓名性别年龄
李三20

其中姓名、性别、年龄就是一列,每一列都保存用户的一部分信息。

数据类型定义:存储数据的类型,每个表列都有相对应的数据类型,它限制该列中存储的数据。

比如说姓名存储的字符串,而年龄这一列存储的是20这样一个整数而不能是二十这样子的字符串

定义:表中的一条记录

如上面那张用户表,李三的信息就是用户的一条记录

主键

定义:一列或者一组列,其值能够唯一表中每行。

我们来对上表进行改造:

身份证姓名性别年龄
431111xxxx李三20
432222xxxx李三32

新的用户表中多加了一列,就是身份证列。我们看到现在表中有两行数据,且姓名都是李三,这一点我们都能够理解,因为现实生活中,重名的情况确实很多。

众所周知,身份证号码是唯一的,那么我们就可以用身份证号码来区分每一行。唯一标志表中每行的这个列(身份证列)称为主键

没有主键,更新或删除表中特定行都很困难。因为很难区别特定的某行!

作为主键的条件:

  1. 任意两行都不具有相同的主键值

  2. 每个行都必须具有一个主键值,不能空缺(每个人从出生就具备一个身份证号码)

主键通常定义在表的一列上,也可以一起使用多个列来作为主键。

我们在现实生活中很少登记用户的身份证,大都是姓名和年龄。而姓名相同,年龄相等的情况却很少,于是我们可以用姓名+年龄作为主键。当然这并不是严谨的,我这里只是举出一个例子,用来明白一组列也可以作为主键!

什么是SQL?

SQL是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。

SQL的优点

  • 几乎所有的DBMS都支持SQL

  • SQL简单易学

  • 虽然看上去简单,但是可以实现非常复杂和高级的数据库操作。

虽然几乎所有的DBMS都支持SQL,但事实上,任意两个DBMS的SQL都不完全相同,即MySQL的SQL语句并不能完全移植到其他的DBMS中。

总结

本章介绍了什么是数据库,也区分了数据库和数据库管理系统、介绍了数据库的组成、以及SQL。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值