SQLyog基本操作(四)-创建数据库、表、添加数据、指定字段查询

4 DQL查询数据(最重点)

4.1 DQL(Data Query Language:数据查询语言)

  • 所有的查询操作都用它 select

  • 简单的查询、复杂的查询它都能做

  • 数据库最核心的语言、最重要的语句

  • 使用频率最高的语句

新建数据库、表、添加数据

 -- 创建一个school数据库
 CREATE DATABASE IF NOT EXISTS `school`;
 -- 使用school数据库
 USE `school`;
 
 -- 创建年级表grade
 DROP TABLE IF EXISTS `grade`;
 CREATE TABLE `grade`(
   `gradeID` INT(11) NOT NULL AUTO_INCREMENT COMMENT '年级编号',
   `gradeName` VARCHAR(50) NOT NULL COMMENT '年级名称',
   PRIMARY KEY (`gradeID`)
 ) ENGINE=INNODB AUTO_INCREMENT = 6 DEFAULT CHARSET = utf8;
 
 -- 插入grade表数据
 INSERT INTO `grade`(`gradeID`,`gradeName`)
 VALUES (1,'大一'),(2,'大二'),(3,'大三'),(4,'大四'),(5,'预科班');
 
 -- 创建成绩表result
 DROP TABLE IF EXISTS `result`;
 CREATE TABLE `result`(
   `StudentNo` INT(4) NOT NULL COMMENT '学号',
   `SubjectNo` INT(4) NOT NULL COMMENT '课程编号',
   `ExamDate` DATETIME NOT NULL COMMENT '考试日期',
   `StudentResult` INT (4) NOT NULL COMMENT '考试成绩',
   KEY `SubjectNo` (`SubjectNo`)
 )ENGINE = INNODB DEFAULT CHARSET = utf8;
 
 -- 插入result表数据
 INSERT INTO `result` (`studentNo`, `subjectNo`, `ExamDate`, `studentResult`)
 VALUES('10000','1','2016-02-15 00:00:00','71'),
 ('10000','2','2016-02-17 00:00:00','60'),
 ('10001','3','2016-02-17 00:00:00','46'),
 ('10002','4','2016-02-17 00:00:00','83'),
 ('10003','5','2016-02-17 00:00:00','60'),
 ('10004','6','2016-02-17 00:00:00','60'),
 ('10005','7','2016-02-17 00:00:00','95'),
 ('10006','8','2016-02-17 00:00:00','93'),
 ('10007','9','2016-02-17 00:00:00','23');
 
 -- 创建学生表student
 DROP TABLE IF EXISTS `student`;
 CREATE TABLE `student`(
   `StudentNo` INT(4) NOT NULL COMMENT '学号',
   `LoginPwd` VARCHAR(20) DEFAULT NULL,
   `StudentName` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名',
   `Sex` TINYINT(1) DEFAULT NULL COMMENT '性别,取值0或1',
   `GradeID` INT(11) DEFAULT NULL COMMENT '年级编号',
   `Phone` VARCHAR(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
   `Address` VARCHAR(255) NOT NULL COMMENT '地址,允许为空,即可选输入',
   `BornDate` DATETIME DEFAULT NULL COMMENT '出生时间',
   `Email` VARCHAR (50) NOT NULL COMMENT '邮箱账号,允许为空,即可选输入',
   `IdentityCard` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',
   PRIMARY KEY (`StudentNo`),
   UNIQUE KEY `IdentityCard`(`IdentityCard`),
   KEY `Email` (`Email`)
 )ENGINE=MYISAM DEFAULT CHARSET=utf8;
 
 -- 插入student表数据
 INSERT INTO `student`(`StudentNo`,`LoginPwd`,`StudentName`,`Sex`,`GradeID`,`Phone`,`Address`,`BornDate`,`Email`,`IdentityCard`)
 VALUES('10000','123','郭靖','0','1','13645667783','天津市河西区','1990-09-08 00:00:00','0@qq.com',NULL),
 ('10001','123','李文才','0','1','13645667890','地址不详','1994-04-12 00:00:00','1@qq.com',NULL)
('10002','123','李斯文','0','1','13645556793','河南洛阳','1993-07-23 00:00:00','2@qq.com',NULL)
('10003','123','张萍','1','1','13642345112','地址不详','1995-06-10 00:00:00','3@qq.com',NULL)
('10004','123','韩秋洁','1','1','13812344566','北京市海淀区','1995-07-15 00:00:00','4@qq.com',NULL)
('10005','123','张秋丽','1','1','13567893246','北京市东城区','1994-01-17 00:00:00','5@qq.com',NULL)
('10006','123','肖梅','1','1','13563456721','河北省石家庄市','1991-02-17 00:00:00','6@qq.com',NULL)
('10007','123','秦洋','0','1','13056434411','上海市卢湾区','1992-04-18 00:00:00','7@qq.com',NULL)
('10008','123','何睛睛','1','1','13053445221','广州市天河区','1997-07-23 00:00:00','8@qq.com',NULL)
('20000','123','王宝宝','0','2','15076552323','地址不详','1996-06-05 00:00:00','9@qq.com',NULL)
('20010','123','何小华','1','2','13318877954','地址不详','1995-09-10 00:00:00','10@qq.com',NULL)
('30011','123','陈志强','0','3','13689965430','地址不详','1994-09-27 00:00:00','11@qq.com',NULL)
('30012','123','李露露','1','3','13685678854','地址不详','1992-09-27 00:00:00','12@qq.com',NULL)
​ 
-- 创建科目表subject 
DROP TABLE IF EXISTS `subject`
CREATE TABLE `subject`
 `SubjectNo`INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程编号'
 `SubjectName` VARCHAR(50) DEFAULT NULL COMMENT '课程名称'
 `ClassHour` INT(4) DEFAULT NULL COMMENT '学时'
 `GradeID` INT(4) DEFAULT NULL COMMENT '年级编号'
PRIMARY KEY (`SubjectNo`
)ENGINE = INNODB AUTO_INCREMENT = 18 DEFAULT CHARSET = utf8
​ 
-- 插入subject表数据 
INSERT INTO `subject`(`SubjectNo`,`SubjectName`,`ClassHour`,`GradeID`)  
VALUES (1,'高等数学-1',110,1)
(2,'高等数学-2',110,2)
(3,'高等数学-3',100,3)
(4,'高等数学-4',130,4)
(5,'C语言-1',110,1)
(6,'C语言-2',110,2)
(7,'C语言-3',100,3)
(8,'C语言-4',130,4)
(9,'Java程序设计-1',110,1)
(10,'Java程序设计-2',110,2)
(11,'Java程序设计-3',100,3)
(12,'Java程序设计-4',130,4)
(13,'数据库结构-1',110,1)
(14,'数据库结构-2',110,2)
(15,'数据库结构-3',100,3)
(16,'数据库结构-4',130,4)
(17,'C#基础',130,1);

创建效果如下:

grade

result

student

subject

 

4.2 指定查询字段

4.2.1 查询 select

 -- 查询所有字段:SELECT * FROM 表名
 -- 查询全部的学生 *表示所有
 SELECT * FROM student

输出结果:

 -- 查询指定字段:SELECT 字段名 FROM 表名 
 SELECT `StudentNo`,`StudentName` FROM student

输出结果:

 -- 别名:给结果起一个名字  AS:可以给字段起别名,也可以给表起别名
 -- 给字段起别名
 SELECT `StudentNo` AS 学号,`StudentName` AS 学生姓名 FROM student
 -- 给表起别名:在多个表同名的情况下使用
 SELECT `StudentNo` AS 学号,`StudentName` AS 学生姓名 FROM student AS s

输出结果:

 -- 函数 CONCAT(a,b) 拼接字符串
 SELECT CONCAT('姓名:',StudentName) AS 新名字 FROM student

输出结果:

 

 

posted @ 2021-06-09 23:54  Coder_Cui  阅读(1994)  评论(0编辑  收藏  举报