首页 > 开发 > 综合 > 正文

简单的增删改查、时间函数

2024-07-21 02:51:35
字体:
来源:转载
供稿:网友

---增:insert  into 表名(列1,列2,列3。。。) values (值1,值2,值3。。。);

---查:select 列1,列2,列3。。。 from 表名;

----删:delect from 表名 where 条件(userid='xxx');

--改:updata 表名 set 列1=‘xxx’,列2=‘sss’,。。。 where 条件(userId like ‘h%’(模糊处理,h开头的意思));

---------group by 子句

对前一个数据的筛选的结果进行重组,使用某个字段或多个字段进行分类,然后按照这些字段组合数据。注意:好像是按照字段从新得到了新表

     select  name from 表名 where 条件 group by name

------聚合函数

总数           最大值              最小值           平均值            求和

select name count(*),max(age),min(age),avg(age),sum(age) from 表名 group by name;

聚合函数忽略空值数据

--------开窗函数

select * avg(score) over() from 表名;(相当于在表后面加上了avg(score))

--------having 子句

where只能直接对数据源进行筛选

having可以对聚合后的数据进行筛选

-----别名

select 字段 as  别名

select 字段  别名(不推荐用)

select  别名=字段

-------distinct 去除重复数据(是对整个结果集进行数据重复处理,不是针对某一列)

select distinct * from 表名(只有完全重复才会去除,包括id);

---------top(只显示前n行数据)

select top 10 * from 表名;(只显示前10行数据)

select top 10 percent * from 表名;(只显示前10%的数据)

-------order by 字段或者表达式 (对结果进行排序)

select * from 表名 order by 字段;默认升序排列

select * from  表名 order by 字段  desc;降序排列

------sql语句执行优先级

from->where->group by-> having->select->order by->top(先排完序再取前n个数据)

------时间函数

加的值   

dateadd  :select dateadd(DAY,1,'2001-1-1');结果2001-1-2

开始时间    结束时间

datediff:select datediff(YEAR,‘2001-1-1’,‘2003-1-1’);结果2

-----转换函数

---cast(数据 as 类型)

      select ‘123’+cast(456 as varchar);

-----convert(类型,数据)

     select ‘123’+convert(varchar,456);

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表