Day8 数据库操作之二 java集合类型

数据库操作

use java10;
-- 对已经存在的表,再添加一个新的列
alter table `user`add sex varchar(1) null;

select * from user;
-- 修改一行数据中的,某个列的值
update user set name='小王' where pwd='992';

-- 同时修改两个列的值,一次修改多个列,用逗号隔开

update user set age=18,sex='男'where name='小明';

update user set age=16,sex='女'where name='小红';

update user set age=17,sex='男'where name='小王';

update user set age=19,sex='男'where name='小莫';

-- 查询
-- 查询性别是男,年龄大于18岁的
select * from user where sex='男' and age>18;

-- 查询结果,只需要名字

select name from user where sex='女' and age>18;

-- 统计男生多少人 count是mysql自带的函数
-- 表示统计记录条数

select count(*) from user where sex='男';

-- 计算男生的平均年龄

select avg(age) from user where sex='男';

-- 找出整个用户表,最大的年龄

select max(age) from user;

-- 找出整个用户表的 最小的年龄

select min(age) from user;

select * from user;
-- 分组查询
select count(*),sex from user group by sex;
-- 取别名,用as,当然as 也可以不写,用空格代替
select count(*)as '总人数' ,sex '性别' from user group by sex;

select name,pwd from user where name='小明' and pwd='123';

select count(*)as'总人数',classmate from students group by classmate;

select * from students where classmate='java10'or classmate='java9';





use java10;

-- 添加一个科目列
alter table students add subject varchar(10) null;

select * from student1;

update students set subject='语文';

insert into students (name,pwd,classmate,score,subject)
values('哈哈','1234','java10','语文');

insert into students (name,pwd,classmate,score,subject)
-- 一次复制用户数量的科目,其他变量不变,语文变成数学(一次把语文的记录复制到数学)
select name,pwd,classmate,score,'数学' from students where subject='语文';
-- 统计 java10班的每一科目加起来的平均成绩
select avg(score) from students where classmate='java10';

-- 统计 java10班的每一个科目的平均成绩
select avg(score) subject from students where classmate='java10' group by subject;

-- 每个班有多少人语文成绩大于80 (语句的语序是 要先确定是班的人所以写了classmate from students,然后是语文成绩并且大于80,所以where subject='语文' and score>80,然后要分组每个班,所以group by classmate)
select count(*),classmate from students where subject='语文' and score>80 group by classmate;

-- having查询,优秀人数大于1的班级,意思是group by后要再加过滤条件
-- where 和 having 的区别:分组以后再过滤只能用having,group by后面只能用having
-- where用于表明的后面,用来过滤查询结果
select count(*),classmate from students where subject='语文' and score>80 group by classmate having count(*)>1;

-- 排序 使用 order by  列名 表示结果根据这个列的值排序
-- 默认是从小到大。升序


select * from students where classmate='java10' and subject='语文' order by score;

-- order by score desc     加desc表示从大到小排序,降序
select * from students where classmate='java10' and subject='语文' order by score desc;





Java三种集合的特点

package com.yqm.day7;

import java.util.HashMap;

public class MapTest {
	     
	//map是无序的,等于没有下标,跟前两个集合的区别,单个map key不能重复,value可以重复
	public static void main(String[] args) {
		
		HashMap map=new HashMap();
		//HashMap特点:
		//1.map存储数据的格式是:key -value
		//2.集合里面数据是无序的
		//3.key是不可以重复,value可以重复
		
		//数组的特点
		//1.创建的时候必须规定里面的value的数据类型
		//2.创建的时候,必须规定数组的长度
		//3.集合里面的数据有序,可以通过下标访问
		
		
		//ArrayList的特点
		//1.value的类型可以不固定,放任何类型
		//2.不固定长度
		//3.集合里面的数据有序,可以通过下标访问
		map.put("aa", 123);
		map.put("bb", "asd");
		
		//通过key获取value
		
		System.out.println(map.get("aa"));
		
		
		
		
	}
	
	
	
		
}

数据库的语句还是要多熟练运用和记住概念,用法的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值