在生活中很多的场合下都能看到表格的使用,在数据库的管理中,其实是对表格的操作,表格作为一种数据模型,方便了对数据的处理。在对数据进行梳理时,较为方便的是建立表格,如像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语句的语法具体如何变,怎么样进行组合,接下来慢慢展示。