常用数据库查询语句--个人总结

来源:互联网 发布:365抽奖软件注册码 编辑:程序博客网 时间:2024/04/27 11:02

本人有时候经常使用封装好的增删改查,以至于有时候简单的增删改查都忘记怎么写,所以在此记录,以便之后查阅

由于mysq与selserver不同,所以在使用的时候,有区别,最简单的是表名称(sqlserver 里   [表名称])mysql里  `表名称`


查 

select * from [user]       //无条件查询,查询user表里所有数据。

select * from [user] where id ='1'//查询user表里所有id为1的数据

select username,sex from [user] where id ='1'//查询user表里所有id为1的username字段,与sex的值

select * from [shop] where shopname like ‘%A%’ //查询shop表里所有shopname字段包含A的数据

select username,sex,(select position from position_type where userid=position.userid) as position  from [user] where userid='1'//跨表查询,查询用户表的姓名,性别,以及职位表中对应的职位

如上所示:有的时候得到的数据是两个表组合得到的数据,这个时候只能用于查看,但是附加的表不能作为条件来限制某些特定情况。这个时候,就需要将这两个虚拟表整合成为一个表从而可以使用其中的字段作为条件来限制

如: 

select * from(select username,sex,(select position from position_type where userid=position.userid) as position  from [user] where userid='1') t where position=1//这里我们可以看出position是附加表,这里讲用户表与职位表整合成表 “ t ”,于是查询这个 “ t ” 表并将职位作为限制条件就可以了

SqlHelper.Query("select * from username where id"+id);//sqlhelper方法整合了一些执行语句,这个是执行sql语句命令

select username,case sex when '0' then '保密' when '1' then '男'  when '2' then '女' end as sex_str from `user` where userid=1//这里的意思是有的时候数据库存储的是01等简单字符,但是为了显示其含义可以用case来转换

select * from user where age between 10 and 20//查询用户表中年龄在20到30之间的数据


select * from user where age=10 or 20//查询用户表中年龄是10以及20的数据


select * from user where age in(11,14,17)//查询年龄分别是11,14,17的数据



查询名字是文开头的:
select * from user where username like '文%';

查询名字是文开头的,且为两个字的:

select * from stud where sname like '张_';


通过性别不同分组查数据:

select sex, avg(age) as 平均年龄 from user group by sex;



删 

delete * from username //将这个表的数据删除

delete * from username where userid=1//将userid为1 的这条数据从数据库删除
SqlHelper.Query("delete * from [user]");//sqlserver
SqlHelper.Query("delete * from `user`");//mysql


改 

update username set mingzi=‘haha’;//将表中所有数据的mingzi修改为haha

update username set mingzi='"+name+"',mima='"+psd+"' where id='"+id+"';//将表中id为指定id的mingzi修改为指定名称,mima修改为指定mima

SqlHelper.Query("");


增 

sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" //插入表中数据
SQL SERVER :SqlHelper.Query("insert into user (name,sex)values('"+name+"','"+sex+"')");
MY SQL :SqlHelper.Query("insert into `user` (name,sex)values('"+name+"','"+sex+"')");



1 0
原创粉丝点击