MySQL学习:DQL语言实现简单查询

1.DQL语言(精通):

  • 几个数据库语言中的最核心的语言
  • 数据库中所有简单的查询、复杂的查询都是用DQL。
  • 使用频率极高。

2.实现过程:

2.1简单查询语法:
  • 查询表的全部内容:
    • SELECT * FROM 表名;
  • 查询表中指定字段内容(未设置别称):
    • SELECT 字段1名称 , ... , 字段n名称 FROM 表名;
  • 查询表中指定字段内容(设置别称):
    • 有时候我们字段名称起的不是那么容易看懂,那么我们查询出来可能会造成阅读困难,所以此时我们可以使用 AS 关键字来给字段名起一个别称,方便阅读结果。
    • SELECT 字段1名称 AS 别称 , ... , 字段n名称 AS 别称 FROM 表名 AS 别称;
  • 运用concat(a,b)数据库字符串拼接函数来融合查询指定字段(设置别称)。
    • SELECT CONCAT(‘拼接内容’,字段1名称) AS 别称 , ... , CONCAT(‘拼接内容’,字段n名称) AS 别称 FROM 表名 AS 别称;
CREATE DATABASE IF NOT EXISTS `school`;
USE `school`;

-- 年级表创建以及数据插入
DROP TABLE IF EXISTS `grade`;
CREATE TABLE `grade`(
`grade_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '年级编号',
`grade_name` VARCHAR(20) NOT NULL COMMENT '年级名称',

PRIMARY KEY (`grade_id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

INSERT INTO `grade` (`grade_id`,`grade_name`) 
VALUES (1,'大一'),(2,'大二'),(3,'大三'),(4,'大四'),(5,'研究生');

-- 学生表创建以及数据插入
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`(
`student_no` INT(4) NOT NULL COMMENT '学生学号',
`login_pwd` VARCHAR(20) DEFAULT NULL COMMENT '登陆密码',
`student_name` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名',
`sex` TINYINT(1) DEFAULT NULL COMMENT '性别,0或1',
`grade_id` INT(11) DEFAULT NULL COMMENT '年级编号',
`tel` VARCHAR(50) DEFAULT NULL COMMENT '联系电话',
`address` VARCHAR(255) DEFAULT NULL COMMENT '地址',
`birthday` DATETIME DEFAULT NULL COMMENT '生日',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱账号',
`ID_number` VARCHAR(18) DEFAULT NULL COMMENT '身份证号码',

PRIMARY KEY (`student_no`),
UNIQUE KEY `ID_number`(`ID_number`),
KEY `email`(`email`)
)ENGINE=MYISAM DEFAULT CHARSET=utf8;

INSERT INTO `student` (`student_no`,`login_pwd`,`student_name`,`sex`,
`grade_id`,`tel`,`address`,`birthday`,`email`,`ID_number`)
VALUES(1000,'123456','张三',0,2,'18888888888','火星','1900-1-1','[email protected]','123456789012345678'),
(1001,'123456','李四',1,3,'19999999999','水星','1901-1-1','[email protected]','098765432109876543');

-- 科目表创建以及数据插入
DROP TABLE IF EXISTS `subject`;
CREATE TABLE `subject`(
`subject_no` INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程编号',
`subject_name` VARCHAR(50) DEFAULT NULL COMMENT '课程名称',
`period` INT(4) DEFAULT NULL COMMENT '学时',
`grade_id` INT(4) DEFAULT NULL COMMENT '年级编号',

PRIMARY KEY (`subject_no`)
)ENGINE=INNODB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

INSERT INTO `subject`(`subject_no`,`subject_name`,`period`,`grade_id`)
VALUES(1,'高等数学',64,1),
(2,'C语言基础',64,1),
(3,'C++程序设计',64,1),
(4,'Java程序设计',64,1),
(5,'数据结构',64,1);

-- 成绩表创建以及数据插入
DROP TABLE IF EXISTS `result`;
CREATE TABLE `result`(
`student_no` INT(4) NOT NULL COMMENT '学生学号',
`subject_no` INT(11) NOT NULL COMMENT '课程编号',
`exam_date` DATETIME NOT NULL COMMENT '考试时间',
`student_result` INT(4) NOT NULL COMMENT '考试成绩',

KEY `subject_no`(`subject_no`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

INSERT INTO `result`(`student_no`,`subject_no`,`exam_date`,`student_result`)
VALUES(1000,1,'2021-01-01 00:00:00',85),
(1000,2,'2021-01-01 00:00:00',86),
(1000,3,'2021-01-01 00:00:00',87),
(1000,4,'2021-01-01 00:00:00',88),
(1000,5,'2021-01-01 00:00:00',89);

-- 简单查询过程:
-- 查寻表全部内容。
SELECT * FROM `student`;

-- 查询指定字段(没有设置别称)。
SELECT `student_no`,`student_name` FROM `student`;

-- 查询指定字段(设置别称)。
SELECT `student_no` AS 学号,`student_name` AS 学生姓名 FROM `student`;

-- 运用concat(a,b)数据库字符串拼接函数来融合查询指定字段(设置别称)。
SELECT CONCAT('学号:',`student_no`) AS `学号`,CONCAT('姓名:',`student_name`) AS 学生姓名 FROM `student`;

2021.1.13
本文章是本人学习笔记,不进行任何商用所以不支持转载请理解,也请别拿去商用
如果觉得对你有帮助那么欢迎你随时来回顾!
只为记录本人学习历程。

你可能感兴趣的:(MySQL学习,数据库,mysql,sql,DQL)