《 MySQL 基础教程 》正式发布了,一个来小时以后,您就可以对 MySQL 有一个基本的了解,在恐惧的名单里划去 MySQL 这个名字。课程是为没有一点数据库操作基础的人准备,所以,您可以从零开始学习一下 MySQL。在学这个课程之前,您不需要先了解 PHP,不过您要知道怎么样去配置一个开发环境,推荐参考 Vagrant 课程去在本地配置一个开发环境。
这个课程里的大部分演示都用到了 MySQL 的控制台,这样你可以跟 MySQL 这个数据库管理系统进行交互,你输入一条语句,回车以后,会立即为您返回结果。虽然有些图形界面也提供了类似的功能,比如 MySQL Workbench,或 Sequel Pro (mac),我还是推荐您在原始的 MySQL 控制台上去练习,慢慢熟悉这种工作方式。你可以用 Vagrant 配合 Linux 系统的虚拟机,SSH 到虚拟机以后,先去安装一个 MySQL ,完成以后,您就可以直接使用 MySQL 的控制台了。
这个课程分成了四个部分:
- 数据库管理系统的用户
- 创建数据库、数据表、字段
- 数据库的操作
- 数据表的关系
数据库管理系统的用户
MySQL 数据库管理系统里面有一个超级管理员,叫做 root ,注意这个 root 用户跟操作系统里的 root 用户不是同一个人。你在安装完 MySQL 以后,执行安全安装的时候,有一步会要求你为 root 这个用户设置密码。使用这个 root 用户与设置的密码,你就可以去管理 MySQL 了,你可以在 MySQL 上去创建新的用户,为这些用户分配权限等等。
注意,您在安装网站程序,比如 WordPress 或者 Drupal 的时候,会要求你填写数据库的用户名与密码,这个地方一定不要使用 root 这个用户,因为 root 用户的权限太大了,更安全一点的做法是,你需要为网站程序使用的数据库去创建一个单独的用户,并且为这个用户设置密码。也就是,这个用户只能去管理你为他指定的数据库。这一章介绍了怎么样去在数据库系统里创建或者删除用户,为这个用户分配或吊销权限。
创建数据库、数据表、字段
MySQL 数据库管理系统里面可以管理多个数据库,也就是你可以为每个网站程序都去创建一个单独的数据库。这一章里介绍了怎么样去创建数据库,为数据库添加数据表,在数据表里去定义字段(数据栏)。其实一个数据库有点像我们平时用的电子表格软件,比如 excel ,numbers 等等。你可以用这些软件去创建一个电子表格文档(数据库),在这个文档里,你可以创建多个工作簿(数据表),在每个工作簿上都会有很多栏(字段)。
数据库的操作
操作数据库用到了一种叫 SQL 的语言,这种语言包含了两大部分,一个是 DDL(Data definition language) ,我们在创建数据库,数据表的时候,就用到了 SQL 的 DDL 的部分。另一部分叫 DML(Data manipulation language) ,也就是操作数据库的这部分。其实就是定义了一些语法,通过他们来操作数据库里的数据,比如去找到存储在数据库里的数据,插入数据到数据库里面,更新还有删除数据库里的数据等等。真的就只是简单的几个句子,都不用记住具体的语法,知道是怎么回事就行了。
数据表的关系
MySQL 这个数据库管理系统是 RDBMS(Relational Database Management System),就是关系类型的数据库管理系统,也就是数据库管理系统里面的一个种类。这里说的关系,就是数据表跟数据表之间的关系。举个例子,你想创建一个博客网站,功能就是用户可以在上面发文章。
这样,你可能需要为这个系统创建两个数据表,一个数据表可以存放文章的内容,比如叫 posts,里面有一些字段,比如文章的 id ,标题,正文,发布的时间,作者,另一个数据库用来存放用户相关的数据,比如叫 users,里面也有一些字段,像用户的 id,用户名,介绍,职业,e-mail 等等。
你在往 posts 表里插入文章记录的时候,可能需要存储一下发布这篇文章的用户是谁,好,现在想一下,是直接在 posts 表里存储用户名吗?如果是,那以后如果这个文章的作者修改了自己的用户名怎么办?你需要在文章的内容上显示这个作者的其它的信息,比如作者的介绍与职业,又应该怎么办?
正确的做法是,你要在 posts 表里存储用户的 id 号,这个 id 号跟 users 表里的用户的 id 是对应的,一个 id 对应一个用户,这个 id 也永远不会改变。也就是,这个 posts 表里存储的用户 id 与 users 表里面的用户 id ,就是这两个表之间的一个关系。这样,你在显示文章内容的时候,可以很容易利用在这条文章记录里面存储的用户 id 来得到在 users 表里面存储的用户的信息,比如用户名,用户介绍,职业等等。
MySQL
评论
皓哥你CLI教程里说到mysqladmin貌似MySQL基础里没有,不过这东西网上查查也行……
10 年 1个月 以前
罗雀,你直接在本地的 linux 虚拟机上面,安装一个 MySQL ,这样就可以使用 MySQL 的 CLI 了。就是用 mysql -u 用户 -p 登录。
10 年 1个月 以前
> 在恐惧的名单里划去 MySQL 这个名字。
说到我心里去了!
7 年 11 个月 以前