1.增加(插入)insert
在插入数据库数据时,需要从前端获取输入的数据,
主要的语句是用户注册:insert into 表的名字(username,password)value(?,?);
ps.setString(1, user.getUsername());//传值给第一个问号
ps.setString(2, user.getPassword());//传值给第二个问号
ps.executeUpdate();
不需要有返回值;
2.删除delect
在删除是一般id是唯一的,所以要根据id删除
主要的语句是:delect *from 表的名字 where id=?;
ps.setInt(1,id);
ps.excuteUpdate();
3.改(一般改的是用户的密码)update
在改是根据用户的ID,根据id和用户输入的新密码
主要的语句是:update 表的名字 set password=? where id=?;
ps.setString(1,user.getPassword());
ps.setInt(2,user.getId());
ps.executeUpdate();
4.查找(select):查找需要返回值
在查找的时候可以根据用户输入的名字
主要的语句是:select * form 表的名字 where username=?;
ps.setString(1,user.getUsername());
rs = ps.executeQuery();
5.多表联合查询 select * from t_user, mail where receiver= username
联合查询效率较高.以下例子来说明联合查询的好处
t1表结构(用户名,密码) userid int username varchar(20) password varchar(20)
1 jack jackpwd
2 owen owenpwd
t3表结构(用户积分,等级) userid int jf int dj int
1 20 3
3 50 6
第一:内联(inner join)
如果想把用户信息,积分,等级都列出来.那么一般会这样写
select * from t1 ,t3 where t1.userid = t3.userid 其实这样的结果等同于select * from t1 inner join t3 on t1.userid=t3.userid
就是把两个表中都存在userid的行拼成一行.这是内联.但后者的效率会比前者高很多.建议用后者的写法.
运行结果:userid username password userid jf dj
1 jack jacjpwd 1 20 3
第二:左联(left outer join)显示左表中的所有行
select * from t1 left outer join t3 on t1.userid=t3.userid
运行结果:userid username password userid jf dj
1 jack jackpwd 1 20 3
2 owen owenpwd NULL NULL NULL
第三:右联(right outer join)显示右表中的所有行
select * from t1 right outer join t3 on t1.userid=t3.userid
运行结果:userid username password userid jf dj
1 jack jackpwd 1 20 3
Null Null Null 3 50 6
第四:全联(full outer join)显示两边表中所有行
select * from t1 full outer join t3 on t1.userid=t3.userid
运行结果:userid username password userid jf dj
1 jack jackpwd 1 20 3
2 owen owenpwd NULL NULL NULL
Null Null Null 3 50 6