Advertisement

MySQL练习

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:DOC


简介:
MySQL练习 是一个专注于数据库管理系统的实践平台,旨在通过各种实际操作和案例分析帮助学习者掌握MySQL的核心技能与应用技巧。 ### MySQL练习知识点详解 #### 一、数据库与表的基本操作 **知识点1:创建数据库** 在MySQL中,可以通过`CREATE DATABASE`命令来轻松地创建一个新的数据库实例。例如,在题目示例中,我们首先检查并删除名为`test1`的现有数据库(如果存在),然后重新创建它: ```sql DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; USE test1; ``` **知识点2:创建表** 在MySQL中,可以通过定义字段及其数据类型来创建一个新表。此外还可以为这些字段添加各种约束条件,如主键(`PRIMARY KEY`)、唯一性(`UNIQUE`)等。 ```sql CREATE TABLE DEPT( DEPTNO int PRIMARY KEY, -- 部门编号 DNAME VARCHAR(14), -- 部门名称 LOC VARCHAR(13) -- 部门地址 ); ``` **知识点3:插入数据** 向表中添加记录可以通过`INSERT INTO`语句实现,这允许一次性或多次插入单条或多条记录。 ```sql INSERT INTO DEPT VALUES (10, ACCOUNTING, NEWYORK); ``` #### 二、表间关联与外键约束 **知识点4:表间关系** 在MySQL中,可以通过定义一个字段作为另一个表格的主键来建立两个表格之间的联系。例如,在`EMP`表中的`DEPTNO`字段可以被设置为指向`DEPT`表的一个外键。 ```sql ALTER TABLE EMP ADD CONSTRAINT FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO); ``` **知识点5:插入多条记录** 为了高效地填充数据,MySQL支持在一次操作中向表格内添加数行数据。例如: ```sql INSERT INTO EMP VALUES(7369, SMITH, CLERK, 7902, DATE(1980-12-17), 800, NULL, 20); INSERT INTO EMP VALUES(7499, ALLEN, SALESMAN, 7698, DATE(1981-02-20), 1600, 300, 30); ``` #### 三、查询操作 **知识点6:基本查询** 在MySQL中,可以使用`SELECT`语句来检索存储于数据库中的数据。例如: ```sql SELECT * FROM EMP; ``` 此命令会返回所有员工的信息。 **知识点7:连接查询** 当需要从多个表获取信息时,可以通过执行JOIN操作实现这一点。 ```sql SELECT EMP.ENAME, DEPT.DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; ``` #### 四、其他操作 **知识点8:定义工资等级表** 题目中还提到创建一个`SALGRADE`表格,用于存储不同薪资范围的信息。该表格包括三个字段:级别(grade)、最低薪酬(losal)和最高薪酬(hisal)。 ```sql CREATE TABLE SALGRADE( GRADE int, -- 等级 LOSAL double, -- 最低工资 HISAL double -- 最高工资 ); ``` **知识点9:数据完整性** 通过设置外键约束,可以确保数据库中的信息准确且一致。例如: ```sql ALTER TABLE EMP ADD CONSTRAINT FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO); ``` 这保证了`EMP`表中每个员工的部门编号都存在于`DEPT`表内。 **知识点10:查询特定范围内的数据** 使用WHERE子句可以筛选出符合一定条件的数据行。例如,查找所有工资等级为1级的所有雇员信息: ```sql SELECT EMP.ENAME, EMP.SAL FROM EMP JOIN SALGRADE ON EMP.SAL BETWEEN SALGRADE.LOSAL AND SALGRADE.HISAL WHERE SALGRADE.GRADE = 1; ``` 以上是基于给定文件内容的MySQL练习中涉及的一些重要知识点。通过这些实践操作,学习者可以更好地理解和掌握数据库的基本功能和高级特性。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • MySQL
    优质
    MySQL练习 是一个专注于数据库管理系统的实践平台,旨在通过各种实际操作和案例分析帮助学习者掌握MySQL的核心技能与应用技巧。 ### MySQL练习知识点详解 #### 一、数据库与表的基本操作 **知识点1:创建数据库** 在MySQL中,可以通过`CREATE DATABASE`命令来轻松地创建一个新的数据库实例。例如,在题目示例中,我们首先检查并删除名为`test1`的现有数据库(如果存在),然后重新创建它: ```sql DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; USE test1; ``` **知识点2:创建表** 在MySQL中,可以通过定义字段及其数据类型来创建一个新表。此外还可以为这些字段添加各种约束条件,如主键(`PRIMARY KEY`)、唯一性(`UNIQUE`)等。 ```sql CREATE TABLE DEPT( DEPTNO int PRIMARY KEY, -- 部门编号 DNAME VARCHAR(14), -- 部门名称 LOC VARCHAR(13) -- 部门地址 ); ``` **知识点3:插入数据** 向表中添加记录可以通过`INSERT INTO`语句实现,这允许一次性或多次插入单条或多条记录。 ```sql INSERT INTO DEPT VALUES (10, ACCOUNTING, NEWYORK); ``` #### 二、表间关联与外键约束 **知识点4:表间关系** 在MySQL中,可以通过定义一个字段作为另一个表格的主键来建立两个表格之间的联系。例如,在`EMP`表中的`DEPTNO`字段可以被设置为指向`DEPT`表的一个外键。 ```sql ALTER TABLE EMP ADD CONSTRAINT FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO); ``` **知识点5:插入多条记录** 为了高效地填充数据,MySQL支持在一次操作中向表格内添加数行数据。例如: ```sql INSERT INTO EMP VALUES(7369, SMITH, CLERK, 7902, DATE(1980-12-17), 800, NULL, 20); INSERT INTO EMP VALUES(7499, ALLEN, SALESMAN, 7698, DATE(1981-02-20), 1600, 300, 30); ``` #### 三、查询操作 **知识点6:基本查询** 在MySQL中,可以使用`SELECT`语句来检索存储于数据库中的数据。例如: ```sql SELECT * FROM EMP; ``` 此命令会返回所有员工的信息。 **知识点7:连接查询** 当需要从多个表获取信息时,可以通过执行JOIN操作实现这一点。 ```sql SELECT EMP.ENAME, DEPT.DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; ``` #### 四、其他操作 **知识点8:定义工资等级表** 题目中还提到创建一个`SALGRADE`表格,用于存储不同薪资范围的信息。该表格包括三个字段:级别(grade)、最低薪酬(losal)和最高薪酬(hisal)。 ```sql CREATE TABLE SALGRADE( GRADE int, -- 等级 LOSAL double, -- 最低工资 HISAL double -- 最高工资 ); ``` **知识点9:数据完整性** 通过设置外键约束,可以确保数据库中的信息准确且一致。例如: ```sql ALTER TABLE EMP ADD CONSTRAINT FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO); ``` 这保证了`EMP`表中每个员工的部门编号都存在于`DEPT`表内。 **知识点10:查询特定范围内的数据** 使用WHERE子句可以筛选出符合一定条件的数据行。例如,查找所有工资等级为1级的所有雇员信息: ```sql SELECT EMP.ENAME, EMP.SAL FROM EMP JOIN SALGRADE ON EMP.SAL BETWEEN SALGRADE.LOSAL AND SALGRADE.HISAL WHERE SALGRADE.GRADE = 1; ``` 以上是基于给定文件内容的MySQL练习中涉及的一些重要知识点。通过这些实践操作,学习者可以更好地理解和掌握数据库的基本功能和高级特性。
  • MySQL
    优质
    本书籍专为学习MySQL数据库技术的初学者设计,通过大量的习题和实践操作帮助读者加深理解并熟练掌握SQL语言及其应用技巧。 为了熟练掌握MySQL中的增删改查操作,需要练习子查询,并加强对关键字的使用。
  • MySQL题目
    优质
    本资源集合了大量针对MySQL数据库管理系统的练习题,旨在帮助学习者通过实践掌握SQL语言及MySQL特有的功能和优化技巧。适合各个水平的学习者使用。 3. 查询平均成绩大于等于60分的同学的学生编号、学生姓名及平均成绩。 4. 查询平均成绩小于60分的同学的学生编号、学生姓名及平均成绩。 4.1 编写查询在sc表中存在分数记录的所有学生的SQL语句。 4.2 编写查询在sc表中不存在任何分数记录的全部学生的SQL语句。 5. 查找所有同学的学生编号、名字以及他们所选课程的数量和总分。 5.1 查询所有有成绩的同学信息的SQL语句 5.2 查询包括具有及不具有的成绩的所有学生的信息。 6. 统计姓李老师的数量。 7. 找出学过名为“张三”老师授课的学生的相关资料。 8. 确定未学习任何由“张三”教授课程的全部学生的详情信息。 9. 获取同时选修了编号为01和02两门课的所有同学的信息 10. 查找已经选择了编号为01但没有选择编号为02的同学的相关资料。 11. 确定未学完所有课程的学生名单。 12. 识别至少有一项与ID号“01”的学生相同的科目信息的其他同学的信息。 13. 找出除掉ID号是“01”外,学习完全相同科目的其它学生的详细资料。 14. 确定没有听任何由张三教授课程的学生名单 15. 搜索至少两门不及格课的同学的学号、姓名及平均分。 16. 列出所有在“01”科目中分数低于60,并按从高到低排序的成绩。 17. 以降序排列显示所有学生的各科成绩及其总评成绩 18. 查询每门课程的最大,最小和平均得分情况: 19. 按照每个学生不同科目的成绩进行排名并列出。 20. 列出所有学生的总分,并按从高到低排序。 20.1 编写查询所有学生的总分数的SQL语句 21. 依据各教师所授课程的学生平均得分,按照降序排列展示结果 22. 查询成绩在第二和第三名的所有学生信息及该科目的成绩。 26. 统计每门课被选修的人数。 27. 列出所有只有两门课程的全部学生的学号与姓名 28. 计算男生、女生人数 29. 查询名字中包含“风”字的学生信息。 30. 搜索同名且性别相同的所有学生名单,并统计重复的名字数量。 31. 查找于1990年出生的全部学生的详细资料(注:Student表中的Sage字段类型为datetime) 32. 列出所有课程中分数超过70分的学生姓名、科目名称及成绩。 33. 确定至少有一门课不及格同学的信息,包括学号和平均得分 34. 查找“数学”这科中低于60分的所有学生的名字及其相应分数。 35. 列出所有学生的课程以及他们的考试成绩情况; 36. 查询任何一门课程中分数超过70的学生姓名、科目名称及该课的成绩。 37. 确定不及格的全部课程信息 38. 查询选择编号为“01”且分数高于80分的所有学生学号和名字。 39. 统计每门科目的选修人数; 40. 查找张三老师所授所有课中成绩最高学生的姓名及成绩。 41. 搜索不同课程但得分相同的学生的详细信息,包括他们的编号、科目以及分数 42. 列出每个学科前两名的成绩记录。 43. 统计选修人数超过5人的每门课程,并按降序排列展示结果;若人数相同,则按照升序排列显示。 44. 查询至少选择了两门课的所有学生学号; 45. 找到选择全部科目的所有学生的详细信息 46. 计算每个学生的年龄。 47. 列出本周内过生日的学生名单。 48. 查找下周将要庆祝生日的全体同学的信息。 49. 查询本月内有生日的所有学生资料; 50. 获取下月即将迎来生日的同学姓名及信息。 1、查找“01”科目成绩高于02科目的所有学生的详细情况及其各门课的成绩 1.1 识别同时选修了编号为“01”和“02”的两门课程的学生的信息。 1.2 获取已选择编号为“01”,但未选择编号为“02”的全部学生
  • MySQL10.10版
    优质
    MySQL练习10.10版是一本专为数据库初学者设计的实践教程,通过丰富的示例和习题帮助读者掌握MySQL数据库的操作与管理技能。 MySQL 数据库管理系统实践指南 本段落档将详细介绍 MySQL 中的基础概念与操作流程,涵盖数据库的创建、使用、更新及删除步骤;表结构的设计包括新建、调整以及移除过程;数据表内字段如主键设定、非空规定、默认值配置和唯一性验证等约束设置。 在MySQL中建立一个新的数据库可以运用CREATE DATABASE命令。例如:`CREATE DATABASE database1;` 若要判断该数据库是否已存在,再决定创建与否,则可使用带有IF NOT EXISTS条件的语句,如:`CREATE DATABASE IF NOT EXISTS database1;` 选择特定数据库进行操作则需执行USE指令。示例为: `USE database1;` 表结构的操作包括: - 创建新表:通过`CREATE TABLE student (sid int, name varchar(255), age int);`语句实现。 - 修改现有表格的构造:采用ALTER TABLE命令,例如:`ALTER TABLE student ADD tel char(11);` - 删除不必要的数据表:利用DROP TABLE指令完成。如需删除名为student的数据表,则执行: `DROP TABLE student;` 针对数据库内的约束条件: 主键定义了每一行记录的独特标识符,并且通过`字段名 数据类型 PRIMARY KEY;`的形式指定,例如:`CREATE TABLE student (id int PRIMARY KEY);` 非空规则强制要求特定列不可为空值,其语法结构为:`字段名 数据类型 NOT NULL;`示例如: `CREATE TABLE student (name varchar(255) NOT NULL);` 默认值规定了在未提供其他输入时自动填充的预设数值。它的设置方式是:`字段名 数据类型 DEFAULT 默认值;`,举例来说:`CREATE TABLE student (age int DEFAULT 18);` 唯一性约束确保每个记录中的某个列项在整个表中具有独一无二的特点。其语法为: `字段名 数据类型 UNIQUE;`例如创建学生电话号码的独有属性:`CREATE TABLE student (tel char(11) UNIQUE);` 此外,还可以通过执行SHOW CREATE DATABASE及DESC命令来获取数据库和表格的相关信息;使用INSERT INTO语句添加新的数据记录,比如:`INSERT INTO t_stu (sid, name, age) VALUES (0,王五,24)`。
  • MySQL数据库
    优质
    本资源为MySQL数据库学习者提供丰富的实践题目,涵盖基础语法到高级应用,旨在通过大量练习巩固理论知识,帮助读者熟练掌握SQL操作技能。 收集全面的MySQL数据库练习题,适合初学者参考使用。
  • MySQL经典
    优质
    《MySQL经典练习题》是一本专为数据库学习者设计的实践手册,包含大量针对MySQL的各种难度的经典练习题,旨在帮助读者通过动手操作来提升SQL编写和数据库管理能力。 经常练习对学习MySQL大有裨益,这里推荐一些基础练习题,非常适合动手实践。强烈建议大家尝试这些题目来提升技能。
  • MySQLSQL脚本
    优质
    本资源提供一系列精心设计的MySQL练习题和相应的SQL脚本,旨在帮助初学者掌握SQL语言的基础语法与高级查询技巧。通过实际操作,用户可以提升数据库管理能力,为数据科学或软件开发奠定坚实基础。 MySQL练习SQL脚本及常用函数的使用示例包括字符串和日期时间功能。
  • MySQL实例.rar
    优质
    本资源为《MySQL实例练习》,包含多个实际操作案例和练习题,适合数据库学习者巩固MySQL知识及技能。 MySQL入门学习笔记涵盖了简单查询、常用函数、分组查询、多表查询、子查询(包括嵌套)、分页查询、联合查询等内容。此外还包括数据操作语言(DML)中的增删改功能,以及数据库定义语言(DDL)中关于表和库的操作方法。笔记还介绍了MySQL的数据类型及常见约束条件,并对标识列进行了详细说明。 其他部分则涉及事务(TCL)与视图的使用、变量设置、存储过程编写、函数创建等知识,同时包含了流程控制的相关内容。该资料适用于初学者学习参考,附带案例库和练习源码,便于实际操作演练并与他人交流讨论。
  • MySQL实用题集 MySQL查询(50题) 18页版.pdf
    优质
    本书《MySQL实用练习题集》包含50道精心设计的MySQL查询练习题,旨在帮助读者通过实践提升SQL查询技能。共18页,适合数据库学习者和初学者使用。 MySQL 查询练习(50题) 1. 建表 - 学生表 - 课程表 - 教师表 - 成绩表 2. 插入测试数据 - 学生表测试数据 - 课程表测试数据 - 教师表测试数据 - 成绩表测试数据 3. 查询题目: 1. 查询01课程比02课程成绩高的学生的信息及课程分数。 2. 查询01课程比02课程成绩低的学生的信息及课程分数。 3. 查询平均成绩大于等于85分的同学的学生编号和姓名以及平均成绩。 4. 查询平均成绩小于60分的同学的学生编号和姓名以及平均成绩(包括有成绩的和无成绩的)。 5. 查询所有同学的学生编号、学生姓名、选课总数及总分数。 6. 查询李姓老师的数量。 7. 查询学过张三老师授课课程的同学的信息。 8. 查询没学过张三老师授课课程的同学的信息。 9. 查询学过编号为01并且也学过编号为02的课程的学生信息。 10. 查询学过编号为01但是没有学过编号为02的课程的学生信息。 11. 查询没有学全所有课程的同学的信息。 12. 至少有一门课与学号为01同学所选相同的其他同学的信息。 13. 查询和01号学生学习完全相同科目的其他学生的相关信息。 14. 没有参加过张三老师授课的任何一门课程的学生姓名。 15. 两门或以上不及格课程的同学学号、姓名及平均成绩。 16. 01课分数小于60分按降序排列学生信息。 17. 按照各科平均成绩从高到低显示所有学生的各科目成绩和总体的平均值。 18. 查询每个学科的成绩最高分,最低分以及平均分:格式为课程ID, 课程名称,最高分数,最低分数,平均分数及格率、中等率、优良率、优秀率(60以上算及格)。 19. 按照各科成绩进行排序并显示排名。(实现不完全) 20. 查询学生的总分并将结果按降序排列。 21. 不同老师的课程平均分数从高到低列出。 22. 所有课程的第二名至第三名学生信息及该科目成绩。 23. 每个学科各分数段人数统计:格式为课程编号, 课程名称,[100-85] [85-70][70-60][0-60] 及所占比例。 24. 查询学生平均分及排名情况。 25. 所有学生的各科成绩与分数状况查询。 26. 任何一门课分值在70以上的同学姓名、课程名称和得分; 27. 不及格的科目列表 28. 成绩超过80的学生学号以及张三老师教的学科 29. 各门科目的学生人数统计。 30. 张三老师所授课程中,成绩最高的学生的相关信息及其分数。 31. 查询不同课程但相同的成绩的学生编号、科目代码和得分情况 32. 每个学术领域的前两名最佳表现者。 33. 统计选择超过5人的学科人数及学生数量(按降序排列)。 34. 至少选修两门课学生的学号查询。 35. 选择了所有科目的同学信息 36. 各名学生的年龄统计 37. 这周内过生日的同学名单 38. 下一周将要过生日的学生列表 39. 当月即将庆祝生日的学生名单。 40. 次月的庆生学生数据。
  • MySQL查询题目
    优质
    本资源提供一系列针对MySQL数据库的查询练习题,旨在帮助用户提升SQL编写能力和熟悉MySQL操作。适合初学者到中级水平的学习者使用。 需要一份关于MySQL的题目,包括一表、两表以及多表连接查询的相关练习题。