第三章 初识SQL

在生活中很多的场合下都能看到表格的使用,在数据库的管理中,其实是对表格的操作,表格作为一种数据模型,方便了对数据的处理。在对数据进行梳理时,较为方便的是建立表格,如像excel那样,方便的表示各种数据属性。对于数据操作人员就建立数据处理最方便的方式是表格。表格是数据最好的一种模型之一。在这个SQL语法的学习过程中,表格贯穿始终,通过对表格的处理,能够得出需求所需要的数据。MySQL也同样是以表格为基础的,用表格的形式组织所有的数据,通过表格的形式对数据进行操作管理。

熟悉表格

为了实现SQL语句学习,需要在MySQL中建立相应的学习数据,一开始不需要用太多的时间对建立数据有很深的认识,这里直接模拟了一些数据,把它导入到刚才建立的数据库school中,在Navicat中,表中选择新建查询,执行以下代码,建立表格和插入一些模拟数据。

建立 students 表和插入数据,使用的SQL语句:

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `students`
-- ----------------------------
DROP TABLE IF EXISTS `students`;
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`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of students
-- ----------------------------
INSERT INTO `students` VALUES ('1', '王小明', '男', '20', '13256787651');
INSERT INTO `students` VALUES ('2', '郑华', '女', '20', '13878542358');
INSERT INTO `students` VALUES ('3', '王俊明', '男', '21', '15696746583');
INSERT INTO `students` VALUES ('4', '张芳', '女', '23', '17154723361');
INSERT INTO `students` VALUES ('5', '陈阳', '男', '22', '15825637745');
INSERT INTO `students` VALUES ('6', '林墨', '男', '23', '15988456723');

建立课程表 courses 并插入数据:

    SET FOREIGN_KEY_CHECKS=0;

    -- ----------------------------
    -- Table structure for `courses`
    -- ----------------------------
    DROP TABLE IF EXISTS `courses`;
    CREATE TABLE `courses` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(100) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

    -- ----------------------------
    -- Records of courses
    -- ----------------------------
    INSERT INTO `courses` VALUES ('1', '高等数学');
    INSERT INTO `courses` VALUES ('2', '大学英语');

建立学生的课程成绩 score 表,并插入数据:

    SET FOREIGN_KEY_CHECKS=0;

    -- ----------------------------
    -- Table structure for `score`
    -- ----------------------------
    DROP TABLE IF EXISTS `score`;
    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;

    -- ----------------------------
    -- Records of score
    -- ----------------------------
    INSERT INTO `score` VALUES ('1', '1', '1', '78');
    INSERT INTO `score` VALUES ('2', '1', '2', '67');
    INSERT INTO `score` VALUES ('3', '1', '3', '82');
    INSERT INTO `score` VALUES ('4', '1', '4', '76');
    INSERT INTO `score` VALUES ('5', '1', '5', '90');
    INSERT INTO `score` VALUES ('6', '1', '6', '88');
    INSERT INTO `score` VALUES ('7', '2', '1', '77');
    INSERT INTO `score` VALUES ('8', '2', '2', '85');
    INSERT INTO `score` VALUES ('9', '2', '3', '65');
    INSERT INTO `score` VALUES ('10', '2', '4', '66');
    INSERT INTO `score` VALUES ('11', '2', '5', '70');
    INSERT INTO `score` VALUES ('12', '2', '6', '75');

上面的代码比较长,SQL的语法并不熟悉,具体是什么意思,先不用管,执行完语句以后,建立了三个表格 学生表格 students ,课程表格 courses ,分数表格 score ,选择一个表格,如打开学生表格里面有六条数据。

简单的数据查询

数据库的一个重要的操作就是查询,基本上可以占据数据库操作的大半江山。先来看看下面的这一段代码:

SELECT * FROM `students` LIMIT 0, 1000

如果认真来看的话,这一段对于有点英语基础的人员来说是一段大白话,翻译成中文的话,

用中文的翻译为:从表格 students 中取出1000条数据。

这是一件典型的SQL语句,很常见的语法,它简洁明了,从来没有见过更像SQL语句那样更像英文语法。

其中 * 表示字段的名称,可以具体的指出,需要哪些字段。

SELECT name,sex FROM `students` LIMIT 0, 1000

显示的结果:

从数据库中选取数据,关键字为 select ,具体的选择出哪些数据,可以通过各个语句进行对应的配置,这也是SQL语句的灵活的原因。

这个过程就像我们前面所讲的那样,在客户端中写好了各种SQL语句,运行语句相当于把语句提交到服务器中运行,服务器计算完结果以后,返回给客户端,并展现出来。

SQL语句的特点

通过上面的数据建设后,已经有了数据,也使用了SQL语句查询了数据,可以发现SQL语句非常的简洁明了,就像在写一段英文一样,能够对数据进行操作。

SQL语句的语法具体如何变,怎么样进行组合,接下来慢慢展示。


来自您的鼓励

如果您感觉这一系列的教程,读后有点收获,并对知识有点了解,不妨小额捐助我一下,让我有动力继续写出更多好文章;或者在评论区留下你的意见。

所有评论

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

还没有评论

撰写评论