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