mysql数据库练习题

温馨提示:多刷新表!

​ 多刷新表!!!

​ 多刷新表!!!!!

1查询每个 学生成绩大于60且成绩总和小于200的班级编号以及成绩和并根据成绩和降序

update sg set sumgrade = chinese+math+english+biology+geography+physic+chemistry;

/*

更新每个学生的总成绩

*/

select classid,grade where grade>60 and sum(grade)<200 order by grade desc;

2创建一个表:student sid sname sage sex score sclass sbirthday

create table student (sid int,

sname varchar(20),

sage int,

sex varchar(5),

score double(5,2),

sclass int,

sbirthday DATE )

3 插入20条数据: 其中sage随机 sex随机 score随机

-- 初版 存储过程 insert20 无语法错误 但是没有对表student插入

delimiter $$

create PROCEDURE insert20( n INT)

BEGIN

declare n int default 0;

while n<20 do

insert into student(sage,sex,score )values(

round(RAND() * 100),

if(floor (RAND()*2)<1,'是','否'),

-- SUBSTR(sexrand (round(RAND() * 100)%2 FOR 1)

round(RAND() * 100)

) ;

set n=n+1 ;

END while ;

end $$

--然后发现参数没卵用。。性别写错了 修改

delimiter $$

create PROCEDURE insert20()

BEGIN

declare n int default 0;

while n<20 do

insert into student(sage,sex,score )values(

round(RAND() * 100),

if(floor (RAND()*2)<1,'男','女'),

-- SUBSTR(sexrand (round(RAND() * 100)%2 FOR 1)

round(RAND() * 100)

) ;

set n=n+1 ;

END while ;

end $$

/*注意事项

1 begin end之间算是代码块语句后要有 分号;

2 delimiter $$ end $$写在开头和结尾,因为结束符号默认是分号;与代码块中冲突,所以要用delimiter

3 二选一赋值用if简单,要是多的话建议用substr(设定好的字符串,随机大数求余,长度) 来赋值

4 基本语法一定要写对,要记牢,本例涉及while do,if,insert into,round(),rand(),及基本存储过程语法等

5 当然 性别 这个或许并不合适 设计性别一般也不是非男即女,懂的都懂

*/

--执行语句

/*删除存储结构*/DROP PROCEDURE IF EXISTS insert20

/*清空表数据*/delete from student

/*调用存储结构*/call insert20()

4 获取所有年龄小于18 并且 名字中有妹的 所有女生的信息

SELECT * FROM student WHERE sage<18 AND sname like '%妹%'

5 获取所有学生的总人数 平均分 最低分 最高分

select count(*) as '总人数'from student;

select avg(score) as '平均分' from student;

select min(score) as'最低分'from student;

select max(score) as'最高分'from student;

--整合--

select count(*) as '总人数',

avg(score) as '平均分',

min(score) as'最低分',

max(score) as'最高分'

from student ;

6获取所有参加考试的学生的总人数和参加考试学生的平均分 和 所有学生的平均分

select count(score) as '总人数',

avg(score) as '平均分',

min(score) as'最低分',

max(score) as'最高分'

from student

--ps: count(*)会计算含null的字段,因为此行其他字段不为空

7 获取所有学生的自我介绍信息:我叫xxx,今年xxx岁,明年xx岁,考了xx分,我是成年人/未成年人

SELECT CONCAT('我叫',

sname,

'今年',

sage,

'岁,明年',

sage+1 ,

'岁,考了',

score ,

'分,我是',

if(sage<18,'未成年人','成年人')

)as SelfIntroduce

FROM student

8 获取5月份生日的学生的个数

SELECT * FROM student where MONTH(sbirthday) =5

9 获取本月生日的学生的个数

SELECT count(*) FROM student where MONTH(sbirthday) =MONTH(CURDATE())

10 获取年龄在18到22岁之间的学生的信息

select * from student where sage>=18 and sage <=22

11 获取第6-10条的所有学生的信息

select * from student limit 5,5; --从第五行结束 开始,查五行

12 把所有女生 并且年龄<20的学生分数+1

select *from student where sex='女'

13 把所有成绩为null的学生 分数设置为100

UPDATE student set score=100 where ISNULL(score);

14 删除sclass列

alter TABLE student DROP COLUMN sclass

15 添加sgrade列 列类型固定长度4的字符串

alter table student add sgrade varchar(4);

16 修改列名sgrade为grade

alter table student change sgrade grade varchar(4);

17 修改grade列类型为char(4)

ALTER table student change grade grade char(4);

18 修改表名为stu1

rename table student to stu1

mysql数据库作业_mysql数据库操作练习相关推荐

  1. linux操作mysql的语法_MySQL数据库的基本操作命令

    一.mysql服务操作 1.net start mysql //启动mysql服务 2.net stop mysql //停止mysql服务 3.mysql -h主机地址 -u用户名 -p用户密码 / ...

  2. mysql修改数据库历史_MySQL之操作数据库

    二.操作数据库 操作数据库-->操作数据库中的表-->操作数据库中表的数据 注:所有语句都要用;结尾. 1.操作数据库 例:创建数据库westos并使用. 注:以后所有命令带[]表示可选, ...

  3. mysql设备台账_mysql数据库操作语句大全.pdf

    mysql数据库操作语句大全.pdf mysql数据库操作语句大全(常用操作指令)一 . 常用mysql命令行命令1.启动MYSQL服务 netstartmysql停止MYSQL服务 stat na| ...

  4. 连接mysql数据库字符串_MySQL数据库中怎么将字符串连接操作

    MySQL数据库中怎么将字符串连接操作 发布时间:2020-11-30 09:54:14 来源:亿速云 阅读:68 作者:小新 小编给大家分享一下MySQL数据库中怎么将字符串连接操作,相信大部分人都 ...

  5. mysql数据库视图_MySQL数据库应用总结(九)—MySQL数据库视图的操作

    SQL语法预览: 创建视图:[create [or replace] [algorithm={undefined | merge | temptable}] view 视图名称(属性列) as sel ...

  6. mysql数据库核对_Mysql数据库操作总结

    1: 部署数据库服务:mariadb        ---  yum install -y  mariadb(操作数据库命令)  mariadb-server 启动数据库服务:systemctl st ...

  7. mysql数据库语法_MySQL数据库基本语法

    SQL WHAT(SQL是什么?) Structured Query Language:结构化查询语⾔ WHY(为何要使用SQL?) 难道仅仅使用SQL Server Management Studi ...

  8. Mysql常用词汇_mysql 数据库常用单词

    说明:以下单词可能有多种含义,此文档只针对编程做解释.单词不多,熟能生巧,每日认真读读写写,效果不错.如有错误,请谅解并指出,谢谢大家! 黄金超 2017-4-7 连接MySQL数据库: mysql ...

  9. mysql删除原则_MySQL数据库的增删选查

    数据库是专门存储数据对象的容器,这里的数据对象包括表.视图.触发器.存储过程等,其中表是最基本的数据对象. 创建数据库 在 MySQL 数据库中存储数据对象之前,先要创建好数据库. 语法: creat ...

最新文章

  1. CISCO设备上DHCP实例
  2. JavaScript学习记录 (三) 函数和对象
  3. 获取轮廓、获取内接矩形
  4. 分页浏览的导航栏Bootstrap和js两种方法
  5. Centos7通过yum安装jsoncpp库
  6. 浪潮n系列服务器指示灯_【科恩电气】通用薄型区域传感器 NA2N系列
  7. ‘ascii‘ codec can‘t encode characters in position
  8. ubuntu配置硬盘开机自动挂载
  9. 在RHEL5下构建LAMP网站服务平台之MySQL、PHP的安装与配置
  10. 宝塔/Linux下自动更新maccms到github原版的最新版
  11. 红警2 csf文件解析 简体化
  12. Matlab 数据类型
  13. 在雨雾中穿行--张家界之旅786
  14. PayPal社交游戏及移动娱乐产业的海外商机
  15. 有一种冲动:世界那么大
  16. 全球最昂贵的10大科技产品
  17. pythonturtle写字_python用turtle写字
  18. 时间序列分析之预处理(一)
  19. linux怎么创建一个c文件,如何在Ubuntu Linux中创建一个简单的C项目
  20. 【SpringBoot】SpringBoot @ConfigurationProperties 注解 用法与加载static静态属性

热门文章

  1. 14年数字化转型经验,总结出数据团队的5个级别,最后1个没人做到
  2. 【转载】指导教师的WZ132
  3. 【飞秋】OpenExpressApp对建模支持的初步计划
  4. 发些c/c++/vc/驱动/网络安全的好书和资料
  5. DirectSound开发
  6. Longhorn明年5月完成 微软将推7个版本
  7. 为什么普通红包自己不能领_我的拼多多不能领红包是怎么回事呢?
  8. php和python互动_PHP和Python 哪个更适合web开发?
  9. 怎么样才能学好java_单人拉丁舞应该怎么样才能学好?初学者需要做到的4点要求...
  10. ubuntu下ZED相机开发环境安装