常用sql记录
一、达梦数据库
-- 创建一个序列
create sequence test.seq_xxx_id
start with 1
increment by 1
nocache nocycle;
-- 创建一个id自增触发器
create or replace trigger test.trg_xxx
before insert on test.table_name
for each row
begin
if :NEW.id is null then
select test.seq_xxx_id.nextval into :NEW.id from dual;
end if;
end;
-- 查看已经创建的序列与触发器
select * from sys.user_sequences;
select * from user_triggers;
-- 删除序列或触发器
drop trigger xxx;
drop sequence xxx;
-- 删除表
drop table if exists test.table_name;
drop table if exists test.table_name cascade constants; -- 级联删除
-- insert
insert test.table_name (id,xxx) values (xxx, xxx);
update test.table_name
set filed = xxx, filed2 = xxx
where xxx;
-- 创建用户
create user test identified by "xxx";
grant public, resource to test;
grant SOI, SVI, VTI to test;
grant select on sys.sysobjects to test;
grant select on sys.all_tables to test;
grant select on sys.user_tables to test;
-- 新增表字段
alter table test.table_name
add (filed_name data_type [约束], xxx xxx);
二、redis
-- 全局通用命令
KEYS * # 查看所有 key(生产慎用)
KEYS prefix* # 按前缀查找
DEL key # 删除 key
EXISTS key # 查看 key 是否存在
EXPIRE key 60 # 设置 key 60秒后过期
TTL key # 查看 key 剩余过期时间
TYPE key # 查看 key 类型
FLUSHDB # 清空当前库
INFO # 查看 Redis 信息
PING # 测试连接
-- string字符串
SET k v # 存
GET k # 取
SETEX k 60 v # 存+过期
SETNX k v # 不存在才存(分布式锁)
INCR k # 自增+1
INCRBY k 10 # 自增10
DECR k # 自减-1
MSET k1 v1 k2 v2 # 批量存
MGET k1 k2 # 批量取
-- Hash
HSET h k1 v1 k2 v2 # 存对象
HGET h k1 # 取单个字段
HGETALL h # 取所有字段
HINCRBY h k 5 # 字段自增(统计专用)
HEXISTS h k # 字段是否存在
HDEL h k # 删除字段
HLEN h # 字段数量
-- List列表
LPUSH list a b c # 左边插入
RPUSH list 1 2 3 # 右边插入
LPOP list # 左边弹出
RPOP list # 右边弹出
LRANGE list 0 -1 # 查看所有
LLEN list # 长度
-- Set集合
SADD s a b c # 添加
SMEMBERS s # 查看所有
SISMEMBER s a # 是否存在
SREM s a # 删除
SCARD s # 个数
SPOP s # 随机弹出
-- ZSet集合
ZADD zs 100 a 200 b # 分值+成员
ZRANGE zs 0 -1 # 正序查看
ZREVRANGE zs 0 -1 # 倒序查看(排行榜)
ZSCORE zs a # 查分值
ZINCRBY zs 10 a # 分值自增
ZCARD zs # 成员数
-- 主从哨兵
INFO replication # 查看主从状态
SLAVEOF host port # 设置主节点
SLAVEOF NO ONE # 变为主节点
SENTINEL masters # 查看哨兵监控的主节点
SENTINEL get-master-addr-by-name mymaster # 获取当前master
-- 持久化
BGSAVE # 后台生成 RDB 快照
SAVE # 阻塞生成 RDB
BGREWRITEAOF # 重写 AOF 日志