【MySql、Oracle相关命令和相关问题集合】

MySql、Oracle相关命令和相关问题集合

1.mysql常用命令

–刷新事务
FLUSH PRIVILEGES;
–运行指定sql文件
source /usr/tmp/xxx.sql;
–创建用户,%代码所有地址均可访问
CREATE USER ‘用户名’@‘%’ IDENTIFIED BY ‘密码’;
–导出单表
mysqldump -u 用户名 -p 数据库名 表名 > 文件名.sql;
–中文排序
CONVERT(a.name USING GBK) ASC;
–设置值为需要的大小(1024×1024×具体MB)
set global max_allowed_packet=314572800;
–创建数据库并指定编码
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

2.Mysql镜像的配置文件路径:

/etc/mysql/mysql.conf.d/mysqld.cnf

3.mysql忽略大小写

配置文件里添加:lower_case_table_names=1

4.mysql服务部署成功,telnet不通

修改配置文件:bind-address=0.0.0.0

Oracle

1.Oracle中存在某字段重复数据需要获取最新第一条数据

需求:查询FK_B_PR_VISIT_SITUATION 表中,根据ID_SN和CREATE_DATE 倒序,获取每个ID_SN最新的数据
1.先根据FK_B_PR_VISIT_SITUATION 查询并且根据ID_SN、CREATE_DATE 降序,显示ROW_NUMBER(这个代表此条数据这分组中的第几行)
2.把步骤的结果当作表,加上where rm = 1 ,代表第一行数据
SELECT * FROM(SELECT ID_SN, NM, CREATE_DATE, ROW_NUMBER () OVER ( PARTITION BY id_sn ORDER BY create_date DESC ) AS rn
FROM FK_B_PR_VISIT_SITUATION WHERE del_flag = 0 ORDER BY ID_SN, CREATE_DATE DESC ) WHERE rn = 1

2.Oracle sql计算两个时间之差

天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)

3.Oracle sql递归查询

根据id与parentId递归往下查询
SELECT id as id from SYS_OFFICE a where a.DEL_FLAG=‘0’
START WITH a.ID=‘xxxxxxxxxxxxx’ CONNECT by PRIOR a.id=a.PARENT_ID)

原文链接:https://blog.csdn.net/hometing218/article/details/121422669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值