SQL入门:第二章 初识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

显示的结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYPpRigJ-1649725600115)(/images/kuxue/sql-start/name-sex.png)]

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

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

SQL语句的特点

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go2coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值