Mysql常用函数及sql使用注意事项

sum()                        : 求和

MAX(column)                        : 列最大的一个值

min(column)                     : 列最小的一个值

count()                        : 列数量,count(*)会统计为null的列,count(1)和count(colum)不会统计为null的列。
 
trim(column)                    :去除列的前置和后置空格

ltrim(column)                : 去除列的前置空格

rtrim(column)                : 去除列的后置空格

substr(str,start,size)       : 截取字符串,将str从start下标开始,截取size个字符长度。start为负数表示从倒数第几位开始

substring(str,start,size)    : 作用和substr()一样,mysql两种截取方式都支持,Oracle只支持substr(),sqlserver只支持substring(),用混淆了会报错。做数据库移植的时候要注意

avg(column)                  : 求列平均值,搭配group by column可以实现分组求其平均值的效果

concat(str...)               : 字符串拼接的函数,用来将普通字符串和列进行拼接后一列展示,需要注意,mysql可以拼接多个值和字段,但是Oracle只能拼接两个字段或者值,可以使用concat嵌套的方式完成多字段与字符串的拼接

concat_ws(separator,column..): 和concat()函数有同样的效果,不过这个方法可以指定不同列之间的连接符号,separator是每列之间的分隔符,这是一个字符串

length(column)               : 求列字段值的长度

upper(str)                   : 将字符转换成大写,

lower(str)                   : 将字符串转换成小写


一,select count(distinct column1,column1...) from table;   只要有一行的任意column值为null,那么都不会计算入列数量

二,distinct是对整个结果集进行数据重复抑制

三,创建列时指定默认值使用default 'xxx'    指定注释使用comment 'xxx' 指定主键使用primary key或者在最后一列使用primary key(column_name...)

四,INSERT ignore into ...  ignore表示如果表中已经有了这条数据(比如insert的数据主键冲突),那么新添加的数据不生效

对表增加索引(方式一,索引列可以有多个) :  create index 索引名 on  table_name(column1...)

对表增加索引(方式二) :  alter table table_name index 索引名(column1...)

删除索引  : drop index 索引名 on table_name

向表中增加一列  :alter table table_name add column column_name not null

向表中增加一列在指定列之前  :alter table table_name add column column_name not null after 列名

向表中增加一列在第一列  :alter table table_name add column column_name not null first

删除表中的某一列(不可一次删除多列,不然会报错)  : alter table_name drop column_name

向表增加主键(可以使用多列来做主键,需要注意单列用来做主键的时候,列不能有重复值且不能有null) :alter table table_name add prmary key(column1...)

统计一列中不重复的值的个数(方式一,需要注意某列值如果为null,则该行数据不做统计)  : select count(distinct column1...) from table_name

统计一列中不重复的值的个数(方式二,需要注意分组的列集合的行是否准确,否则分组的时候会去重)  : select count(column1) from  (select column1 from table_name group by column1...) t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soutv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值