对于一个开发人员,写SQL语句就像吃饭一样频繁,但是总有那么几个菜,吃来吃去,吃的频率很高,但是怎么很好的去吃,烧着吃,炒着吃,菜里面包含哪些营养物质,不是很懂,或者理解,认识的不是很深刻,接下来分享的就是个人在开发过程中经常使用到的SQL语句,在加上一些基础的SQL,现在分享给大家,与大家一起学习成才。
对于数据库服务器,现在市面上流行的有很多,个人使用过的有Oracle、Mysql和DB2,个人最喜欢的就是Mysql,开源界神一样的作品之一,虽然,被Oracle收购之后更新速度明显慢了下来,但是依然被市场广泛使用(黑一下甲骨文)。
由于现在公司使用的是Oracle服务器,所以就用客户端dbvis来演示吧。
电脑已经很卡了,就不再下载Mysql服务器来展示了。
大家也可以使用别的客户端和服务器,Mysql开源软件可以直接去官网下载,安装就可以使用。好了,废话不多说,现在开始常用SQL的分享!
所有的分享都是在user_table这个表上完成的,创建语句如下:
CREATE TABLE USER_TABLE
(
USER_ID VARCHAR2(8),
USER_NAME VARCHAR2(20) ,
USER_SEX VARCHAR2(5) ,
USER_AGE VARCHAR2(50) ,
USER_TEL VARCHAR2(50),
CONSTRAINT MPOS_TEM_LINE_PK PRIMARY KEY (USER_ID)
);
1、SQL新增记录:
insert into user_table values(‘1’,’bakehe’,’男’,’高中一班’,’13351210773’);
insert into user_table(user_id) values(‘2’);
2、SQL查询记录:
select * from user_table where 1=1
3、SQL修改记录:
update user_table set user_name=’what’ where user_id=’1’
4、新增表字段:
alter table user_table add user_phone char(11);
5、SQL查询case when:
select user_id,user_name, (case when user_sex=’1’ then ‘男’ when user_sex=’2’ then ‘女’ else ‘人妖’ end ) user_sex from user_table;
select user_id,user_name, (case user_sex when ‘1’ then ‘男’ when ‘2’ then ‘女’ else ‘人妖’ end ) user_sex from user_table;
6、SQL查询like语句:
select * from user_table where user_name like ‘%bak%’;
7、SQL查询之统计语句:
select user_name,
sum(case when user_name='bakehe' then 1 else 0 end ) bake_num,
sum(case when user_name='what' then 1 else 0 end ) what_num
from user_table group by user_name;
8、SQL去重统计:
select count(user_id),count(distinct user_name),count(distinct user_age) from user_table;
9,多变查询SQL语句:
select * from NEWBNK where lbnk_no not in (select lbnk_no from NEWBNK_TMP);