为什么需要SQL

在现实生活中,东西多了,我们都会用到仓库,把所有的东西都规整得井然有序的,要找东西的时候能很快的找到,我们用同样的规则去存放东西,再按照同样的规则去取东西,保证仓库按照一定的规整进行工作。当我们需要对我们的东西进行统计的时候,我们就可以按照特有的方法,进行快速的统计了。

各行各业都需要有自己所属的仓库,老师需要建立学生的成绩仓库,这样可以很方便的了解学生的成绩情况;卖商品的店员需要建立自己的商品仓库,方便对商品进行统计进而更加清楚自己的销售情况。不管是数据的比较或者分析,对数据的挖掘处理,SQL都是最基础。这就是我们需要SQL的原因。

每一门语言都有特定的用途,SQL特别明显,SQL可以说不仅仅属于程序员的一种语言,每个统计行业的人员都得熟悉的一门语言。

通常来说,业务分析人员最关注产品的各个方面的数据,他们最了解市场,但是由于他们里产品开发比较远,不容易拿到自己产品的数据,用数据来判断之前的运营情况到底对产品有没有好的影响,对比出哪样的投放方式是比较好的。业务人员并没有办法自己统计出这方面的数据,很重要的一个环节,是业务人员对程序天生都有一个误解,觉得程序是程序员的事情,其实SQL语言是很通俗的一门统计语言,通俗到你只要知道英文语法,你就能写出SQL。

而对于一名程序员来讲,数据的存储和基本SQL的语法在编程中都是必然会用到的,如何设计数据库,如何高效的进行查询,整理等对数据库的操作都是作为一名程序员的基础技能。而很多程序员,特别是写客户端程序的人员,对SQL都是一知半解,希望通过这系列的教程,能够更加系统的了解SQL。

这一系列的文章,从最初的状态开始,一步一步的了解SQL的基础知识,特别适合初学者。

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

在windows上搭建数据库

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

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

首先,需要安装MySQL服务端工具,到MySQL的官方网站下,下载windows的MySQL版本,地址在https://dev.mysql/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,也对数据库没有一个基本的认识。

更多推荐

SQL入门:第一章 建立自己的数据库