Keen的博客

记录所思、所想、所遇

欢迎来到我的个人站~


sql笔记

实际操作过程中的积累

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的结构信息
\?              # 列出所有命令

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少