mysql 两例习题

一、

综述:两张表,一张顾客信息表customers,一张订单表orders
1、创建一张顾客信息表customers,字段要求如下:
    c_id 类型为整型,设置为主键,并设置为自增长属性
    c_name 字符类型,变长,宽度为20
    c_age 微小整型,取值范围为0~255(无符号)
    c_sex 枚举类型,要求只能在('M','F')中选择一个值
    c_city 字符类型,变长,宽度为20
    c_salary 浮点类型,要求整数部分最大为10位,小数部分为2位
    在表中任意插入3条记录,c_name为"Zhangsan","Lisi","Wangwu", c_city尽量写"Beijing","Shanghai" ......    

    create table customers(
    c_id int primary key auto_increment,
    c_name varchar(20),
    c_age tinyint unsigned,
    c_sex enum("M","F"),
    c_city varchar(20),
    c_salary float(12,2)
    );

    insert into customers values
    (1,"Zhangsan",25,"M","Beijing",8000),
    (2,"Lisi",30,"F","Shanghai",10000),
    (3,"Wangwu",27,"M","Shenzhen",3000);

2、创建一张订单表orders,字段要求如下:
    o_id 整型
    o_name 字符类型,变长,宽度为30
    o_price 浮点类型,整数最大为10位,小数部分为2位
    设置此表中的o_id字段为customers表中c_id字段的外键,更新删除同步
    在表中任意插入5条记录(注意外键限制)
    o_name分别为"iphone","ipad","iwatch","mate9","r11",其他信息自己定

    create table orders(
    o_id int,
    o_name varchar(30),
    o_price float(12,2),
    foreign key(o_id) references customers(c_id)
    on delete cascade
    on update cascade
    );

    insert into orders values
    (1,"iphone",5288),
    (1,"ipad",3299),
    (3,"mate9",3688),
    (2,"iwatch",2222),
    (2,"r11",4400);


3、返回customers表中,工资大于4000元,或者年龄小于29岁,满足这样条件的前2条记录
    select * from customers where c_salary > 4000 or c_age < 29 limit 2;
    
4、把customers表中,年龄大于等于25岁,并且地址是北京或者上海,这样的人的工资上调15%
   update customers set c_salary=c_salary*1.15 where c_age >= 25 and c_city in ("Beijing","Shanghai");
            
5、把customers表中,城市为北京的顾客,按照工资降序排列,并且只返回结果中的第一条记录
   select * from customers where c_city="Beijing" order by c_salary desc limit 1;
            
6、选择工资salary最少的顾客的信息
   select * from customers where c_salary = (select min(c_salary) from customers);
                
7、找到工资大于5000的顾客都买过哪些产品的记录明细
   select * from orders where o_id in (select c_id from customers where c_salary > 5000);
                
8、删除外键限制
   1、show create table orders;  
   2alter table orders drop foreign key orders_ibfk_1;
                
9、删除customers主键限制
   1、删除自增长属性
    alter table customers modify c_id int;
   2、删除主键限制
    alter table customers drop primary key;

10、增加customers主键限制c_id
   alter table customers add primary key(c_id);

二、

select user_id,count(*) from comment group by user_id order by count(*) desc limit 10;

 

转载于:https://www.cnblogs.com/hooo-1102/p/10773923.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值