大数据时代,数据分析越来越成为工作中不可缺少的一部分,提到数据分析,就绕不开SQL语言,要入门学习SQL,需要先了解的几个问题:
1.什么是数据库,什么是SQL?
我们先来看下百科中关于SQL的定义:SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
说白了,SQL只是一个工具,在面对海量的数据时,excel处理起来不是那么容易,就会利用sql处理数据,要使用SQL离不开数据库和数据库管理工具,在此使用MySQL和Navicat,具体的安装教程可以网上搜索,在此不再赘述。
数据库是什么?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,其中关系数据库=多张表+各表之间的关系,即一堆互相关联的数据。表包括列、列名、还有行,其中列需要设置一个主键,表示唯一确定不重复的数据;各边之间的关系常常是联结(jion)的关系,通过设置的主键进行相互关联。
如下图,是一个典型的各表之间进行联结的关系图(来自猴子),每张表有唯一主键(主键可以由一列或者两列甚至更多组成),不同表之间通过对应的主键进行相互联结。
2.常见的数据类型(来源猴子)
3.SQL语法介绍
4.联系数据库表的建立和插入数据
代码如下:
(1)学生表中插入数据
INSERT INTO student(学号,姓名,出生日期,性别)
VALUES('0001','猴子','1989-01-01','男');
INSERT INTO student(学号,姓名,出生日期,性别)
VALUES ('0002','猴子','1990-12-21','女');
INSERT INTO student(学号,姓名,出生日期,性别)
VALUES('0004','王思聪','1990-05-20','男');
INSERT INTO student(学号,姓名,出生日期,性别)
VALUES ('0003','马云','1991-12-21','男');
(2)成绩表中插入数据
INSERT INTO score (学号,课程号,成绩)
VALUES ('0001','0001','80');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0001','0002','90');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0001','0003','99');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0002','0002','60');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0002','0003','80');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0003','0001','80');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0003','0002','80');
INSERT INTO score (学号,课程号,成绩)
VALUES ('0003','0003','80');
(3)课程表中插入数据
INSERT INTO course (课程号,课程名称,教师号)
VALUES('0001','语文','0002');
INSERT INTO course (课程号,课程名称,教师号)
VALUES('0002','数学','0001');
INSERT INTO course (课程号,课程名称,教师号)
VALUES('0003','英语','0003');
(4)教师表中插入数据
INSERT INTO teacher (教师号,教师姓名)
VALUES ('0001','孟扎扎');
INSERT INTO teacher (教师号,教师姓名)
VALUES ('0002','马化腾');
INSERT INTO teacher (教师号,教师姓名)
VALUES ('0003','null');
INSERT INTO teacher (教师号,教师姓名)
VALUES ('0004',' ');