都是当年我学sql时候记录的笔记

主键:具有唯一性,自动加索引(index),且不能为空索引:加快查询速度
 varchar-字符串
 int-整数型查看当前主键及更改自增主键
(t_risk_item_rule表名,item_rule_id自增主键字段名)
--查看序列号
select nextval('t_risk_item_rule_item_rule_id_seq');
--修改序列号
select setval('t_risk_item_rule_item_rule_id_seq', 1111);
常规查询:
 select        *    from                             t_user
 丨             丨                                             丨
 查询        字段(*代表查询所有数据)表名模糊查询:
 select  *  from  t_user  where user_name like '高%'
 |                                                    丨          丨     丨
 |                                                  字段名     像     模糊查姓高的人(%放置位置决定模糊查询的方式,例:user_name like‘%王%’,该句查名字中间有王字的人)
计数:count
 select count (*) from t_user
 |             丨   丨
 |           计数 字段分组:group by
 select count(*),iMonth from wx_hr_salary where cPsn_Name like '高%'  group by iMonth
 |                          丨                                                                              丨     丨
 |                       字段名                                     (%代表通配符,任意值)  分组求和:sum
 select sum(F_1),iMonth from wx_hr_salary where cPsn_Name like '高%' group by iMonth
 |              丨   丨
 |             求和 要求和的字段名插入:
 insert into t_user(user_id,user_name,age,sex)values(1,'关羽',21,'男')
 丨                 丨             丨                                                      丨
 插入数据      表名     需要插入数据的字段名                        值  字符型需加单引号,数值型不需要修改:
 update t_user  set    user_pass    =  '123'      where  user_id=1 and age=21
 丨           丨     丨                  丨             丨           丨        丨
 修改     表名    放置 需改的字段名 修改的数据 改哪里 改主键是1并且年龄为21的位置(根据实际情况更改,连接用and)
删除:
 delete  from  t_user  where  user_id=2------删除来自t_user表里字段名为user_id字段数据为2的位置
 丨
 删除排序:
 order by news_id asc(放在where后面)
 丨                  丨    丨
 排序         字段名(asc升序,desc降序)消重复:
 select distinct cPsn_Name from wx_hr_salary
 |              丨         丨                          丨
 |           消重    按照字段名消重      表名查看表中从第0条数据开始查询,向后查10条记录
 select * from wx_hr_salary   limit             0 ,      10
 |                                丨           丨             丨       丨
 |                             表名    限定范围  从第x条数据开始查  向后查询y条不是主键不允许建立外键
表之间的连接:
 select  * from t_news inner join t_user on t_news .create_by = t_user.user_no
 |                        丨      丨               丨               丨         丨                丨     丨
 |                    B表名    连接         A表名        B 表名   字段名      A表名   字段名(inner可替换left,左边表完全显示,右边表符合条件的显示;用right相反)
表之间的联合:
 select user_no from t_user union all select create_by from t_news
 |             丨                 丨        丨     丨
 |           字段名         表名   联合  显示所有不消除重复(可不写)select new_id  as   aa   from t_news (as可省略,例 select new_id   aa   from t_news,效果同上)
 |              丨            丨                 丨
 |            字段名       起的名字    表名子查询:
 select * from      (select new_id as aa from t_news)    t
 |                              丨                                                 丨
 |               在select()中放入另一个select查询语句  必须命名一个表名select 姓名,sum(case 科目 when '语文' then 成绩 else 0 end) as 语文 from score group by 姓名 order by 姓名 desc;
查询姓名字段,求(假如科目是语文则留下该行语文的成绩,否则留下0,进行下一行直到运算结束)所留下的所有数相加,所得结果在命名为语文的字段下显示,显示结果按姓名分组并按姓名倒序排序。
把null换成数字--------ifnull( t2.faka,0)
 |                                             丨   丨    丨
 |                                         表名 字段名 替换的数字max 最大值:(并且运用了case···then···end)
select max(t.A) A,max(t.B) B,max(t.C) C from (select sum(case Db_type when 'A' then Db_value else 0 end) as A,sum(case Db_type when 'B' then Db_value else 0 end) as B,sum(case Db_type when 'C' then Db_value else 0 end) as C from Db_test group by Db_type order by Db_type ) t
select sum(case Db_type when 'A' then Db_value else 0 end)

在select语句中插入一列自增id:

SELECT row_number() over (order by t.serv_id) as row_id, t.serv_id from table t