实际操作过程中的积累
1 常用函数和符号
基本函数
DATE_SUB(CURDATE(), INTERVAL 7 DAY) # 取当前日期之前7天的日期
DATE_FORMAT(update_time,'%Y-%m-%d') # 将update_time时间按照%Y-%m-%d格式化
to_days(now()) # 将当前时间转换成日为单位的时间
CAST(id AS SIGNED)或者CONVERT(id,SIGNED) # 字符串转整型
判断字段不为空
字段 <> 0 # 数字类型 字段 <> ‘’ # 字符类型 字段 is not null # 判断字段是否存在
sql里字符串与整型比较,是ok的
select count(*) from a join b on a.id = b.strId
2 MySQL一些操作
基础操作
show tables; # 显示当前db的所有表
desc xxx; # 显示xxxtable的结构信息
按照一个key一行显示 \G
select语句后面加 \G,可以将语句按照每一个key单行显示
group分组组合
group_contact和group by组合使用,能把一个大集合,按照一定分组,且把未在分组key里面的,按照group_contact用逗号分隔连接起来
|id|name| |—|—| |1|test1| |1|test2| |2|test3| |2|test4| |2|test5| 经过group_contact之后
select id,group_concat(name) from aa group by id
|id|group_concat(name)| |—|—| |1|test1,test2| |2|test3,test4,test5|
join on操作,默认是inner join on,求交集
select * from a join b on a.id = b.id
等价于
select * from a inner join b on a.id = b.id
向已有数据库新增一列
# 向数据库表t_check_config,新增一列asset_type,类型为字符串
alter table t_check_config add asset_type varchar(32) NOT NULL DEFAULT '' COMMENT '资产类型';
导出数据库表
# 没有-h ip,表示是备份本地
# -p和密码之间不能有空格
# -d表示只导出表结构,不导出数据,去掉的话,就表示所有都导出
mysqldump -h ip -u root -p密码 -d 数据库名 表名 > backup.sql
mysql -h ip -u root -p密码 -d 数据库名 < backup.sql
3 PostgreSQL一些操作
基础操作
\d # 列出当前db的所有表
\d xxx # 列出xxxtable的结构信息
\? # 列出所有命令