日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库作业_mysql数据库操作练习

發(fā)布時間:2025/3/15 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库作业_mysql数据库操作练习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

mysql數(shù)據(jù)庫練習題

溫馨提示:多刷新表!

? 多刷新表!!!

? 多刷新表!!!!!

1查詢每個 學生成績大于60且成績總和小于200的班級編號以及成績和并根據(jù)成績和降序

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創(chuàng)建一個表: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條數(shù)據(jù): 其中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 $$

--然后發(fā)現(xiàn)參數(shù)沒卵用。。性別寫錯了 修改

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(設定好的字符串,隨機大數(shù)求余,長度) 來賦值

4 基本語法一定要寫對,要記牢,本例涉及while do,if,insert into,round(),rand(),及基本存儲過程語法等

5 當然 性別 這個或許并不合適 設計性別一般也不是非男即女,懂的都懂

*/

--執(zhí)行語句

/*刪除存儲結構*/DROP PROCEDURE IF EXISTS insert20

/*清空表數(shù)據(jù)*/delete from student

/*調(diào)用存儲結構*/call insert20()

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

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

5 獲取所有學生的總人數(shù) 平均分 最低分 最高分

select count(*) as '總人數(shù)'from student;

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

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

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

--整合--

select count(*) as '總人數(shù)',

avg(score) as '平均分',

min(score) as'最低分',

max(score) as'最高分'

from student ;

6獲取所有參加考試的學生的總人數(shù)和參加考試學生的平均分 和 所有學生的平均分

select count(score) as '總人數(shù)',

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月份生日的學生的個數(shù)

SELECT * FROM student where MONTH(sbirthday) =5

9 獲取本月生日的學生的個數(shù)

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的學生分數(shù)+1

select *from student where sex='女'

13 把所有成績?yōu)閚ull的學生 分數(shù)設置為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数据库操作练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。