IT忍者神龟之MySQL数据库简单操作

1、在xxx各大学的<<单身群体资料库>>中,用数据库Mysql来存储学生信息。其中,用户信息、星座信息和血型信息分别采用Users、Star和Blood三个表来保存,其中Users表引用了Star和Blood的数据,数据结构如下:

表名

Users

作用

存储用户的基本信息

主键

UserId

序号

字段名称

字段说明

类型

长度

属性

备注

1

UserId

主键、自动增长

Int

 

非空

 

2

UserName

用户名称

varchar

30

非空

 

3

UserPwd

用户密码

varchar

30

非空

 

4

NickName

用户昵称

varchar

30

非空

 

5

Sex

用户性别

Int

 

非空

1-0

6

Height

用户身高

Int

 

允许空

null(cm)

7

Age

用户年龄

Int

 

允许空

null

8

IsDone

是否已找到对象

Int

 

非空

1-0

9

StarId

星座id

Int

 

允许空

null

10

BloodId

血型id

Int

 

允许空

null

 

表名

Star

作用

星座数据字典表

主键

StarId

序号

字段名称

字段说明

类型

长度

属性

备注

1

StarId

主键、自动增长

Int

 

非空

 

2

StarName

星座名称

varchar

30

非空

 

 

表名

Blood

作用

血型库字典表

主键

BloodId

序号

字段名称

字段说明

类型

长度

属性

备注

1

BloodId

主键、自动增长

Int

 

非空

 

2

BloodType

血型

varchar

10

非空

 

 

要求:

1、 按以上结构分别建立三张表

2、 用sql语句初始化如下相应的数据

a) 星座:白羊座,金牛座,双子座,巨蟹座,狮子座,处女座,天秤座,天蝎座,射手座,摩羯座,水瓶座,双鱼座

 

 

 

 Insert into Star(StarId,StarName) values (1,"白羊座");

Insert into Star(StarId,StarName) values (2,"金牛座");

Insert into Star(StarId,StarName) values (3,"双子座");

Insert into Star(StarId,StarName) values (4,"巨蟹座");

Insert into Star(StarId,StarName) values (5,"狮子座");

Insert into Star(StarId,StarName) values (6,"处女座");

Insert into Star(StarId,StarName) values (7,"天秤座");

Insert into Star(StarId,StarName) values (8,"天蝎座");

Insert into Star(StarId,StarName) values (9,"射手座");

Insert into Star(StarId,StarName) values (10,"摩羯座");

Insert into Star(StarId,StarName) values (11,"水瓶座");

Insert into Star(StarId,StarName) values (12,"双鱼座");

 

 

 

 

b) 血型:A,B,AB,O

 

              insert into Blood(BloodId,BloodType)value(1,"A");

insert into Blood(BloodId,BloodType)value(2,"B");

insert into Blood(BloodId,BloodType)value(3,"AB");

insert into Blood(BloodId,BloodType)value(4,"O");

 

 

3、 向Users表中按字段要求插入12条自定义数据,以便进行下面练习

a) 要求有两条年龄大于32岁的女同学

            要求分别有 没有找到对象 和 已经找到对象了的 男女同学

b) 要求有141618193032岁的女同学,身高有150155160等数据

c) 要求有171619202326岁的男同学,身高有168170176180等数据

4、 根据指定UserId对应的没有找到对象的用户更改为已经找到对象了

 

 

                update users set IsDone=1 where UserId=6;

 

5、 删除年龄大于32岁的所有女同学

                delete from users where age>32;

 

6、 查询出所有学生的 主键、用户名称、性别、身高、是否已经找到对象

            select UserId,UserName,Sex,Height,IsDone from users;

 

7、 查询出没有找到对象的年龄在18-22岁之间身高在158cm以上的所有女生

               select * from users where Age>18 and Age<32 and IsDone=0 and Height>158 and Sex=0;

 

8、 查询出已经有找到对象的年龄在20-24岁之间的身高在170cm以上所有男生

              select * from users where Age>20 and Age<24 and IsDone=1 and Height>170 and Sex=1;

 

9、 查询出身高不等于155cm的所有女生的身高和姓名,并查询结果中对应显示“身高”、“姓名”

         select UserName as "姓名",Height as "身高" from users where Sex=0 and Height<>155

;

 

 

 

10、 查询出所有学生信息,女生排列在前,男生排列在后,男生女生身高从高到低排列

             select * from users order by Sex asc,Height desc;

11、 查询出所有没有登记年龄的学生

              select * from users where Age=null;

12、 查询出所有未找到对象的学生的姓名、性别,并在结果集中增加一列说明为”单身群体”

             select UserName as "姓名",Sex as "性别","单身群体" as "群体" from users where IsDone=0;

13、 查询身高最高的前三位女同学

          select * from users where Sex=0 order by Height desc limit 0,3;

14、 查询老三、老四、老五三女同学

           select UserName,Sex  from users where UserName="老三" or UserName="老四" or UserName="老五";

15、 查询名称中有“花花”的所有男同学

              select * from users where UserName like "%花花%" and Sex=1;

16、 查询用户昵称是以“小”开头的所有同学

17、    

18、      select * from users where NickrName like "%" ;

19、 查询用户昵称是以“小”结束的所有同学

20、      select * from users where NickrName like "%" ;

 

21、 查询年龄为161830岁的所有女同学

 

            select * from users where (Age=16 or Age=18 or Age=30)

 and Sex=0;

22、 查询所有女生年龄之和并结果中显示“女生总年龄”

            mysql> select sum(age) as "女生总年龄" from users where Sex=0;

23、 查询所有男生的平均年龄并结果中显示“男平均年龄”

              mysql> select avg(age) as "男生平均年龄" from users where Sex=1;

24、 查询出年龄最大的女生信息

             select * from users where Age=(select max(Age) from users where Sex=0);

25、 查询出身高最矮的男生信息

             mysql> select * from users where Height=(select min(height) from users where Sex=1);

26、 查询出女生个数并结果中显示“女生总数”

              mysql> select count(*) as "女生总人数" from users where Sex=0;

27、 查询出年龄在18-22岁之间的所有女生的姓名、星座名称

            mysql> select UserName,StarName from users,star where Sex=0 and users.StarId=star.StarId and (age>18 and age<22);

28、 查询出身高在165-175cm之间的所有男生的姓名、星座名称、血型

           select UserName,StarName,BloodType from users,star,blood where users.StarId=star.StarId and users.BloodId=blood.BloodId and Sex=1 and Height>165 and Height<175;

29、 导出tuts数据库进行数据备份存储

        


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值