mysql数据库经典练习题

mysql数据库经典练习题

第一章数据库单表习题A

    • 第一题:分析以下需求,并用代码实现

已知“我爱你家”10月份销售人员业绩存放在selldb数据库sell表里

工号       姓名             销售房源       销售额        工资

mysql数据库经典练习题

  1. 写出创建selldb数据库,及按照以上格式创建sell表的sql语句

CREATE DATABASE  mybase1 CHARACTER SET UTF8;

CREATE TABLE selldb(

ID INT(11) PRIMARY KEY AUTO_INCREMENT,

NAME VARCHAR(20),

sellnumbers varchar(20),

sellmoney INT(20),

money INT(20)

);

 

2.写出sql语句完成以上表格中数据的插入

INSERT INTO selldb VALUES

(1,郭风芝,3,900000,8000),

(2,李清风,1,250000,5000),

(3,杨晓初,0,0,4000),

(4,霍币,5,1000000,6000),

(5,宋明,6,1200000,5000),

(6,杨洋,2,502000,7000);

 

3.写出统计10月份“我爱你家”一共销售了多少套房源以及总销售额(sql语句)

SELECT SUM(sellnumbers),SUM(sellmoney) FROM selldb;

4.写出计算低于平均销售额的员工姓名输出到控制台上(sql语句)

SELECT  name FROM selldb WHERE sellmoney < (SELECT  AVG(sellmoney) FROM selldb);

 

5.写出按照销售额的降序进行排列将销售额前三名的工资分别上涨1000(sql语句)

SELECT * FROM selldb ORDER BY sellmoney DESC;

UPDATE selldb SET sellmoney = sellmoney + 1000 WHERE  id IN(5,4,1);

 

6.写出删除0销售额的员工(sql语句)

SELECT id FROM selldb WHERE sellmoney<=0;

DELETE FROM selldb WHERE id IN (3);

 

    • 第二题:分析以下需求,并用代码实现

模拟数据备份,已知有如下学生名单,内容如下:

姓名-年龄-性别-班级-分数

张三丰-103-男-iOS就业班-100

李峰-23-男-iOS基础班-90

张飞-36-男-javaEE基础班-40

田甜-23-女-UI基础班-80

李根-40-男-javaEE就业班-9

朱迪-18-女-javaEE基础班-100

将该文件中的内容写入到studb库stutb表中,该表结构是

mysql数据库经典练习题

连接数据库完成以下操作

  1. 写出创建studb数据库,及按照以上格式创建stutb表的sql语句
  2. CREATE TABLE stutb(
  3. NAME VARCHAR(20),
  4. age  INT(11),
  5. sex VARCHAR(20),
  6. department VARCHAR(20),
  7. score VARCHAR(20)
  8. );

 

  1. 写出sql语句完成以上表格中数据的插入
  2. INSERT INTO stutb VALUES
  3. (张三丰,103,,‘iOS就业班,100),
  4. (李峰,23,,‘iOS基础班,90),
  5. (张飞,36,,‘javaEE基础班,40),
  6. (田甜,23,,‘UI基础班,80),
  7. (李根,40,,‘javaEE就业班,9),
  8. (朱迪,18,,‘javaEE基础班,100);

 

3.写出完成基础班在读的男学员的所有信息按成绩的降序输出到控制台上(sql语句)

SELECT * FROM stutb WHERE department IN (‘iOS基础班,‘javaEE基础班,‘UI基础班) ORDER BY score DESC ;

 

4.写出将李根的年龄改为20,班级改为javaEE基础班(sql语句)

UPDATE stutb SET age = 20 ,department = ‘javaEE基础班 WHERE NAME =李根;

 

5.写出删除低于javaEE基础班平均分的javaEE基础班学生(sql语句)

SELECT NAME  FROM stutb WHERE score < (SELECT AVG(score) from stutb);

DELETE FROM stutb WHERE  NAME IN(张飞,李根) ;

 

    • 第三题:分析以下需求,并用代码实现

假设院校有一个数据库schooldb中有一张student表,内容如下:(可以用自己的sql来创建数据库以及表结构)(javaEE)

id

name

sex

department

score

1

张三

体育系

9

2

李四

外语系

10

3

娜娜

中文系

6

4

凯蒂

外语系

7

5

肖鹿

表演系

1

6

菲菲

不详

外星系

0

由于录入信息的老师不细心导致数据库好多信息是错误的,运用sql将信息修改好,并且帮助老师统计一些数据

        1.写出创建schooldb数据库,及按照以上格式创建student表的sql语句

CREATE TABLE student(

id INT(11) PRIMARY KEY AUTO_INCREMENT,

NAME VARCHAR(20),

sex VARCHAR(20),

department VARCHAR(20),

score INT(11)

);

 

2.写出sql语句完成以上表格中数据的插入

INSERT INTO student VALUES

(1,张三 ,,体育系,9),

(2    ,李四,,外语系,10),

(3, 娜娜, ,中文系, 6),

(4,凯蒂,,外语系,7),

(5,肖鹿,,表演系,1),

(6,菲菲,不详,外星系,0);

 

3.菲菲不是本校学生,删除该记录(sql语句)

DELETE FROM student WHERE  id = 6;

 

 

4.缺失一名学生记录,学生信息自己定义(sql语句)

 INSERT INTO student VALUES(7,刘梦真,,外星系,4);

5.按照系分组并统计每个系各有多少人(sql语句)count差点忘了

SELECT department,COUNT(department) FROM student  GROUP BY department;

 

6.按照学分给表中所有的学员进行排序,按降序将学员姓名输出到控制台上(sql语句)

SELECT * FROM student ORDER BY score DESC ;

 

    • 第四题:分析以下需求,并用sql实现

CREATE TABLE zhangwu (

  id INT PRIMARY KEY AUTO_INCREMENT, — 账务ID

  zname VARCHAR(200), — 账务名称

  zmoney DOUBLE — 金额

);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (1,’吃饭支出’,247);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (2,’工资收入’,12345);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (3,’服装支出’,1000);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (4,’吃饭支出’,325);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (5,’股票收入’,8000);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (6,’打麻将支出’,8000);

INSERT  INTO zhangwu(id,zname,zmoney) VALUES (7,NULL,5000);

 

 

1   查询zname,zmoney的数据

   格式:

     select 列名1,列名2 from 表名

SELECT zname,zmoney FROM  zhangwu;

2  查询所有列的数据

  格式:

    select * from 表名

SELECT * FROM zhangwu;

 

3  查询去掉重复记录的zname

   DISTINCT 关键字 跟随列名

SELECT   DISTINCT  zname FROM zhangwu;

 

4  查询重新命名列,为zname重命名为name

  as 关键字

SELECT zname AS NAME FROM zhangwu;

 

5  查询数据中,直接进行数学计算,查询zmoney并+1000

  列对数字进行计算

SELECT zmoney + 1000 FROM zhangwu;

 

6 查询所有的吃饭支出

SELECT SUM(zmoney) FROM zhangwu WHERE zname = 吃饭支出;

7 查询金额大于1000 的数据

          SELECT * FROM zhangwu WHERE zmoney > 1000;

 

8 查询金额在2000到5000之间 的数据

SELECT * FROM zhangwu WHERE zmoney >2000 && zmoney <=5000;

 

 9查询金额是 1000,3500,5000 其中一个的数据、

SELECT * FROM zhangwu WHERE zmoney IN (1000,3500,5000);

 

10 查询所有的支出,使用模糊查询

— like 模糊查询 配合通配符

SELECT * FROM zhangwu WHERE  zname LIKE ‘%%%%%’;

 

11查询账务名字,五个字符的、

SELECT * FROM zhangwu WHERE CHAR_LENGTH(zname)=5;

 

12查询账务名,不为空的

SELECT *FROM zhangwu WHERE zname IS NOT NULL;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114772.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络系统渗透测试步骤_网络安全工程师日常工作内容

    网络系统渗透测试步骤_网络安全工程师日常工作内容100渗透测试工具使用方法介绍

    2022年8月12日
    5
  • tail -f 命令详解

    tail -f 命令详解tail命令可用于查看文件的内容,有一个常用的参数-f常用于查阅正在改变的日志文件。tail-f等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止tail-F等同于–follow=name–retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪t…

    2022年5月29日
    94
  • php stripslashes 函数的意思

    php stripslashes 函数的意思脑子不行了,很多东西看过就忘,比如这个stripslashes,知道是去除反斜杠,但为啥用它死活想不起来,搜索一下,把这几篇文章抄下来:1、反斜杠是怎么回事两个东西ini_set(magic_q

    2022年7月2日
    28
  • NetworkManager详解

    NetworkManager详解直接继承自 MonoBehaviour, 还有就是被设计成了单例 singletonNetworkManager网络管理器是一个方便的HLAPI类,用于管理网络系统。       对于简单的网络应用NetworkManager网络管理器可以使用HLAPI控制。它提供了简单的方法来 启动和停止 客户端和服务器,以及管理场景,而且具有虚拟函数,用户代码可以使

    2022年10月5日
    4
  • Linux安装anaconda3是否初始化的区别「建议收藏」

    Linux安装anaconda3提示是否希望安装程序通过运行condainit来初始化Anaconda3?DoyouwishtheinstallertoinitializeAnaconda3byrunningcondainit?官方建议的是选yes,那么选择yes和no有什么区别呢?1、选择yes:选择yes的话,bashrc文件中会添加以下内容,这样在打开终端时自…

    2022年4月15日
    306

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号