第二章 建立自己的数据库

对于刚刚接触数据库的人员来说数据库都是一个比较虚的概念,不知道数据放在哪里,不知道怎么去连接数据,数据是以何种结构去存储,如何才能够取得数据,更不知道学了那么多的SQL语句,是要在哪里才能够用得上的,所以在一开始,并不着急介绍SQL的知识,而是从头开始,建立一个完整的数据库,并在数据库里建立自己的数据,它将成为了下面几个章节的试验场。

在windows上搭建数据库

一般来讲数据库通常搭建在服务器上,在服务器上安装了数据库的服务,我们通过一个客户端去连接我们需要的数据,在客户端写好语句后提交到服务器上面的数据库服务端,服务端计算完数据后,返回给客户端。而这个服务端的数据服务有非常多的选择,这里我们使用的是MySQL

用户可以根据如下的步骤来建立数据库服务,MySQL是一个很好的工具,它管理着数据,SQL语法负责对数据进行操作,初学者一定要有自己的数据服务,不然很难学懂SQL语法。

首先,需要安装MySQL服务端工具,到MySQL的官方网站下,下载windows的MySQL版本,地址在https://dev.mysql.com/downloads/windows/, 选择MySQL Installer,下载软件进行安装。

下载完成后,进行MySQL服务端的安装,它相当于一个服务,你可以安装在自己本地的机子上,这相当于,这台机子用来做服务端,等下又用来连接这个服务端,又当客户端。客户端相当于不存储任何的数据,所有的数据都存放在服务端上,所有的数据运算都在服务端上,客户端只写相应的计算代码和展现计算结果。

完成了主程序的安装以后,接下来就是对MySQL进行配置,配置MySQL的基本信息,比如端口号是多少等,如果不需要特殊配置,直接下一步就可以。

做为数据库的管理中心,为了数据的安全,并不希望任何用户只要知道数据库的地址就能获取数据库里的任何数据,因此需要设置用户信息,设置账号和密码:

不出意外的话,直接下一步就能够完成数据库的安装,这时候MySQL的各种服务已经安装到这台机子了,点击完成会启动MySQL的服务。

数据库的服务启动以后提供了各种对数据的管理和操作,一开始数据库里除了一些系统数据以外,并没有其他的数据,接下来就是用客户端连接数据库服务,看看数据库里面有什么东东。

连接数据库服务

连接数据服务的客户端非常的多,优秀的软件也很多,通常较为流行的是Navicat这款软件,连接的类型比较的多,同样在网上下载这款软件,完成安装,打开软件如下:

连接到刚才我们建立的数据服务器,也就是本机上,ip为127.0.0.1,在生产环境下,可以查问运维人员数据存放的具体ip地址。用户名一开始为root是超级用户,密码为刚才所设立的,这些教程主要是关于SQL的语法操作,MySQL的管理操作这里不详说。

打开MySQL后,会看到几个数据库information_schemamysqlperformance_schemasys这些都是MySQL自带的数据库,暂且先放着不管。

建立试验数据

关于数据库有较多的概念,在这里不做详细的介绍,直接到具体的需求中实践去。

这里列举一个学校学生的具体例子。

为了方便管理,每一个项目在数据服务中,都有一个专门的数据库,又可以根据数据的属性分为不同的表。比如每个学生有年龄,班级,每个学生又有自己的课程,有自己的课程成绩。这样在学生项目的数据库中,可以有三个表,学生,课程,学生的课程成绩。这里把试验的项目名称取名为:school,新建数据库名称 school

选择新建数据库,建立 school 数据库。

新建三张表,studentsscorecourses

  • students表:用来存放学生信息
  • courses表:课程信息
  • score表:学生课程成绩

打开查询按钮,输入以下代码建立三个表格:

    CREATE TABLE `students` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(100) DEFAULT NULL,
      `sex` varchar(100) DEFAULT NULL,
      `age` int(11) DEFAULT NULL,
      `tel` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `age` (`age`),
      KEY `as` (`age`,`sex`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

    CREATE TABLE `score` (
      `int` int(11) NOT NULL AUTO_INCREMENT,
      `course_id` int(11) DEFAULT NULL,
      `student_id` int(11) DEFAULT NULL,
      `score` int(11) DEFAULT NULL,
      PRIMARY KEY (`int`)
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4;


    CREATE TABLE `courses` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(100) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

执行如下的代码后,建立了三张表格,这三张表格以后会经常用到,可以双击打开这三张表,发现除了字段名称以外,这三张表没有任何数据。

如果你还不知道如何建表并没有关系,接下来会慢慢的介绍,SQL的语法跟MySQL搭建并没有什么关系,主要是为了以后能够在上面进行SQL的运算,也为了给自己一个可视化的界面。

关于数据库的操作就到这里,挺琐碎的一些东西,但是这些是我们以后的基础,如果没有这些数据服务,我们没有地方实现我们的SQL,也对数据库没有一个基本的认识。


所有评论

写了这么多年博客,收到的优秀评论少之又少。在这个属于 SNS 的时代也并不缺少向作者反馈的渠道。

还没有评论

撰写评论