Mysql基本语法

#1、创建users数据库
create database users;
#2、查看数据库
show databases;
#3、使用数据库
use student;
#4、删除users数据库
drop database users;
#5、查看表
show tables;
#6、删除info表
drop table info;
#7、插入一条数据(info)
insert into info(name,password) values('za','123');
#8、更新张三的密码为888
update info set password = '888' where name = '张三';
#9、删除李四的数据
delete from info  where name='李四';
#10、查询全部数据
select * from info;
#11、查询id和name
select id,name from xinxi;
#12、查询编号为1的人的id和name
select id,name from xinxi where id=1;
# []:包含  ^:去除(不是)  %:任意长度的任意字符  _:任意一个字符
#13、查询姓李的人的id和name
select id,name from xinxi where name like '李%';
#14、查询姓张、姓李的id和name
select id,name from xinxi where name like '张%' or name like '李%';
#15、查询密码为空的id和name
select id,name from xinxi where password is null;
#16、查询密码不为空的id和name
select id,name from xinxi where password is not null;
#17、查询编号在1--4之间的id和name
select id,name from xinxi where id between 1 and 4;
select id,name from xinxi where id>=1 and id<=4;
#18、查询去掉重复的张三的name
select distinct name from xinxi where name='张三';
#19、按id升序查询id和name
select id,name from xinxi order by id;
select id,name from xinxi order by id asc;
#20、按id降序查询id和name
select id,name from xinxi order by id desc;
#按name降序,id降序查询id和name(汉字按拼音首字母)  
#21、多列排序:当第一个排序值相同的时候再按第二个排序
select id,name from xinxi order by convert(name using gbk) desc ,id desc;
#22、查询前3条id和name(从0开始,数多少条)
select id,name from xinxi limit 0,3;
select id,name from xinxi limit 3;
#23、查询2--5条id和name
select id,name from xinxi limit 1,4;
#24、查询学生的id,name和grade(内连接:只查询有成绩的)
select x.id,x.name,s.grade from xinxi x inner join score s on x.id=s.xid;
#25、笛卡尔积(内连接:只查询有成绩的)
select x.id,x.name,s.grade from xinxi x,score s where x.id=s.xid; 
#26、查询学生的id,name和grade(左外连接:能查出空值,必须先查主表)
select x.id,x.name,s.grade from xinxi x left join score s on x.id=s.xid;
#27、查询平均分
select avg(grade) from score;
#28、查询总分
select sum(grade) from score;
#29、统计总人数
select count(*) from xinxi;
select count(id) from xinxi;
select count(1) from xinxi;
#30、查询最高分和最低分
select max(grade),min(grade) from score;
#31、分组查询课程编号和平均分(聚合函数必须跟分组一起查询)
select cid,avg(grade) from score group by cid;
#32、多列分组(当第一个分组相同时会按第二列进行分组)
select cid,xid,avg(grade) from score group by cid,xid;
#33、查询平均分大于80分的人学号和平均分(having是在分组基础之上继续查询)
select xid,avg(grade) from score group by xid having avg(grade)>80;
#34、查询补考的学生学号和平均分(当查询出现重复值时用多列分组)
select xid,avg(grade) from score group by xid,cid having count(*)>1;
#35、查询密码比李江涛小的人的姓名和密码
select name,password from xinxi where password<(select password from xinxi where name='李江涛');
#36、查询分数小于60分的人的姓名(结果大于1)
select name from xinxi where id in(select xid from score where grade<60);
#37、查询分数不小于60分的人的姓名(结果大于1)
select name from xinxi where id not in(select xid from score where grade<60);
#38、查询是否有李江涛这个人,如果有,显示查询结果,没有不显示
select id,name from xinxi where exists (select name from xinxi where name='李江涛');
#39、如果平均分大于70,就查询班级前三名成绩
select grade from score where exists(select xid from score  group by xid having avg(grade)>70) 
order by grade desc limit 3;
#40、求最高分
select max(grade) from score;
#不用max求最高分
select grade from score order by grade desc limit 1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值