热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库技术:mySQL数据库练习题

1.分别创建mydb1和mydb2数据库字符集第一个是utf8第二个是gbk;2.查询所有数据库检查是否创建成功3.分别查询两个数据库的字符集检查是否成功4.先使用mydb1再使用
1. 分别创建mydb1和mydb2数据库 字符集第一个是utf8第二个是gbk;  2. 查询所有数据库检查是否创建成功  3. 分别查询两个数据库的字符集 检查是否成功  4. 先使用mydb1再使用mydb2  5. 删除两个数据库 
create database mydb1 character set utf8;  create database mydb2 character set gbk;  show databases;  show create database mydb1;  show create database mydb2;  use mydb1;  use mydb2;  drop database mydb1;  drop database mydb2;
1. 创建数据库mydb2 并使用  如果mydb2存在 删除掉 重新创建   2. 在mydb2数据库里面创建员工表emp 字段有name  字符集为utf8  3. 添加age字段在最后面  4. 添加id字段在最前面  5. 添加gender字段在name字段后面  6. 修改gender性别为sal工资  7. 删除age字段  8. 修改表名为t_emp  9. 删除t_emp  10. 删除数据库 
create database mydb2;  use mydb2;  create table emp(name varchar(50))charset=utf8;  alter table emp add age int;  alter table emp add id varchar(50) first;  alter table emp add gender varchar(5) after name;  alter table emp change gender sal int;  alter table emp drop age;  rename table emp to t_emp;  drop table t_emp;  drop database mydb2;
1. 创建mydb4数据库 字符集utf8 并使用 2. 创建hero表 字段:id,name, type varchar(10) 3. 插入以下数据:   (1, '李白', '刺客') , (2, '诸葛亮', '法师'), (3, '刘备', '战士'),(4, '孙尚香', '射手'),(5, '关羽', '战士'), (6, '刘禅', '辅助'); 4. 修改李白的类型为诗人 5. 给表添加money字段  6. 修改id小于5 的money为6888  7. 修改诗人为打野 8. 修改刘禅的名字为阿斗 价格为50 9. 删除id大于5的数据  10. 修改所有英雄的价格为13888  11. 修改表名为heros  12. 删除money字段  13. 删除所有数据   14. 删除表   15. 删除数据库
create database mydb4 character set utf8;  use mydb4;  create table hero(id int ,name varchar(10),type varchar(10));  insert into hero values(1, &#39;李白&#39;, &#39;刺客&#39;) , (2, &#39;诸葛亮&#39;, &#39;法师&#39;), (3, &#39;刘备&#39;, &#39;战士&#39;),(4, &#39;孙尚香&#39;, &#39;射手&#39;),(5, &#39;关羽&#39;, &#39;战士&#39;), (6, &#39;刘禅&#39;, &#39;辅助&#39;);  update hero set type=&#39;诗人&#39; where name=&#39;李白&#39;;  alter table hero add money int;  update hero set mOney=6888 where id<5;  update hero set type=&#39;打野&#39; where type=&#39;诗人&#39;;  update hero set name=&#39;阿斗&#39;,mOney=50 where name=&#39;刘禅&#39;;  delete from hero where id>5;  update hero set mOney=13888;  rename table hero to heros;  alter table heros drop money;  delete from heros;  drop table heros;  drop database mydb4;
创建数据库mydb2 字符集utf8 并使用  create database mydb2 character set utf8;  use mydb2;  在数据库中创建员工表emp 字段:id,name,sal,deptId(部门id) 字符集utf8  create table emp (id int,name varchar(50),sal int,deptId int)charset=utf8;  创建部门表dept 字段:id,name,loc(部门地址) 字符集utf8  create table dept(id int,name varchar(50),loc varchar(50))charset=utf8;  部门表插入以下数据: 1 神仙部 天庭 2 妖怪部 盘丝洞  insert into dept values(1,&#39;神仙部&#39;,&#39;天庭&#39;),(2,&#39;妖怪部&#39;,&#39;盘丝洞&#39;);  员工表插入一下数据: 1 悟空 5000 1 2 八戒 2000 1  3 蜘蛛精 8000 2 4 白骨精 9000 2  insert into emp values(1,&#39;悟空&#39;,5000,1),(2,&#39;八戒&#39;,2000,1),(3,&#39;蜘蛛精&#39;,8000,2),(4,&#39;白骨精&#39;,9000,2);  查询工资6000以下的员工姓名和工资  select name,sal from emp where sal<6000;  修改神仙部的名字为取经部 update dept set name=&#39;取经部&#39; where name=&#39;神仙部&#39;;  给员工添加奖金comm字段 alter table emp add comm int;  修改员工表中部门id为1的 奖金为500  update emp set comm=500 where deptId=1;  把取经部的地址改成五台山  update dept set loc=&#39;五台山&#39; where id=1;  删除两个表 drop table emp ; drop table dept;
查询有上级领导并且是3号部门的员工信息  select * from emp where mgr is not null and deptno=3;  查询2号部门工资在1000到2000之间的员工姓名 工资和部门编号  select ename,sal,deptno from emp  where deptno=2 and sal between 1000 and 2000;  查询1号部门工资为800和1600的员工信息  select * from emp where deptno=1 and sal in(800,1600);  查询1号和2号部门工资高于2000的员工信息  select * from emp where deptno in(1,2) and sal>2000;
查询员工表中工资高于2000的员工姓名和工资,按照工资升序排序,查询第二页的2条数据(每页2条)  select ename,sal from emp where sal>2000 order by sal limit 2,2;  查询和销售相关的工作的工资总和  select sum(sal) from emp where job like &#39;%销售%&#39;;  查询程序员人数 select count(*) from emp where job=&#39;程序员&#39;;  查询1号部门中有领导的员工中的最高工资  select max(sal) from emp where deptno=1 and mgr is not null;  查询2号部门的最高工资和最低工资 起别名  select max(sal) 最高,min(sal) 最低 from emp where deptno=2;  查询1号部门里面名字中包含空字的员工姓名  select ename from emp where deptno=1 and ename like &#39;%空%&#39;;
查询每个部门工资高于1500块钱的员工人数  select deptno,count(*) from emp where sal>1500 group by deptno;  查询每个部门的工资总和 按照工资总和升序排序  select deptno,sum(sal) from emp group by deptno order by sum(sal);  select deptno,sum(sal) s from emp group by deptno order by s;  查询1号和3号部门的最高工资  select deptno,max(sal) from emp where deptno in(1,3) group by deptno;  查询人数最多部门编号和人数  select deptno,count(*) c from emp  group by deptno order by c desc limit 0,1;  查询每种职业的工资总和不包含程序员  select job,sum(sal) from emp where job!=&#39;程序员&#39; group by job;
1. 查询没有上级领导的员工编号empno,姓名,工资 2. 查询有奖金的员工姓名和奖金 3. 查询名字中包含精的员工姓名和工资 4. 查询名字中第二个字是八的员工信息 5. 查询1号部门工资大于2000的员工信息 6. 查询2号部门或者工资低于1500的员工信息 7. 查询工资为3000,1500,5000的员工信息按照工资升序排序 8. 查询3号部门的工资总和 9. 查询每个部门工资大于1000的员工人数,按照人数升序排序 10. 查询每种工作中有领导的员工人数按照人数降序排序 11. 查询所有员工信息,按照部门编号升序排序,如果部门编号一致则工资降序 12. 查询有领导的员工,每个部门的编号和最高工资 13. 查询有领导的员工,按照工资升序排序,第3页的2条数据 14. 查询员工表中工资高于2000的员工姓名和工资,按照工资升序排序,查询第二页的2条数据 15. 查询和销售相关的工作的工资总和 16. 查询程序员人数  17. 查询1号部门中有领导的员工中的最高工资 18. 查询2号部门的最高工资和最低工资 起别名 19. 查询1号部门里面名字中包含空字的员工姓名 20. 查询每个部门工资低于2000的人数
select empno,ename,sal from emp where mgr is null; select ename,comm from emp where comm>0; select ename,sal from emp where ename like"%精%"; select *from emp where ename like"_八%"; select *from emp where deptno=1 and sal>2000; select *from emp where deptno=2 or sal<1500; select *from emp where sal in(3000,1500,5000) order by sal; select deptno,sum(sal) from emp where deptno=3; select deptno,count(*) c from emp where sal>1000 group by deptno order by c; select deptno,count(*) c from emp where mgr is not null group by job order by c; select *from emp group by deptno order by deptno,sal desc; select *from emp order by deptno,sal desc; select deptno,max(sal) from emp where mgr is not null group by deptno; select *from emp where mgr is not null order by sal limit 4,2; select ename,sal from emp where sal>2000 order by sal limit 2,2; select sum(sal) from emp where job like "%销售%"; select count(*) from emp where job="程序员"; select max(sal) from emp where deptno=1 and mgr is not null; select max(sal) 最高,min(sal) 最低 from emp where deptno=2; select ename from emp where deptno=1 and ename like "%空%"; select deptno,count(*) from emp where sal<2000 group by deptno; select *from emp;

 

需要了解更多数据库技术:mySQL数据库练习题,都可以关注数据库技术分享栏目—编程笔记


推荐阅读
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
author-avatar
一颗顽石
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有