数据库
奋斗成就男人
这个作者很懒,什么都没留下…
展开
-
mysql按字段分组并获取每个分组按照某个字段排序的前三条
这是原始数据 想按照brand_id分组 并获取每个分组total_num最高的前3位SQL语句为:select a.* from data a where 3 > (select count(*) from data where brand_id = a.brand_id and total_num > a.total_num ) order by a.brand_id, a.total_num desc;得到结果``...转载 2022-02-12 00:05:34 · 3753 阅读 · 0 评论 -
Oracle分组查询取每组排序后的前N条记录
目的:取每组数据排序后的前N条数据。关键函数:OVER(PARTITION BY)举例:存在实验表 test1 表中存在三列: 姓名(name)、性别(sex)、年龄(age),数据有 男性和女性20、30、40岁,共6人, 要查询出男性年龄最大的2人和女性年龄最大的两人。sql语句如下:select * from (select a.name, a.sex, a.age, ROW_NUMBER()转载 2022-02-12 00:01:17 · 1889 阅读 · 0 评论 -
Linux安装MySQL5.7
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads解压tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 再移动并重命名一下mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql创建mysql用户组和用户并修改权限groupadd mysqluseradd -r -g mysql mysql创建数据目录并赋予权限转载 2022-02-06 23:58:20 · 274 阅读 · 0 评论 -
修改oracle用户密码永不过期
1、查看用户的proifle是哪个,一般是default:sql>SELECT username,PROFILE FROM dba_users;2、查看指定概要文件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';3、将密码有效期由默认的180天修改成“无限制”:sql>ALTER PROF转载 2022-01-10 23:41:05 · 1942 阅读 · 0 评论 -
Orcle 常用操作
如果某个oracle账户经常被锁定,说明有应用程序或有人远程连接数据库多次失败后导致账户被锁定,oracle默认是有次数限制的,可以通过以下方式解决问题:1、用管理员账户登录:conn sys/sys as sysdba;2、解锁账户: alter user scott account unlock;3、重置账户密码:alter user scott identified by tiger;4、授权:grant resource,connect to scott;5、修改oracle默认配置:al转载 2021-10-09 17:42:33 · 1747 阅读 · 0 评论 -
查询Oracle正在执行的sql语句
–查询Oracle正在执行的sql语句及执行该语句的用户SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名FROM v$process a, v$session b, v$sqlarea cWHERE a.addr = b.paddr AND转载 2021-09-10 10:27:11 · 934 阅读 · 0 评论 -
linux服务器上修改oracle数据库的字符集
linux服务器上以dba身份进入:sqlplus / as sysdba;依次执行以下命令:shutdown immediate;startup mount;alter system enable restricted session;alter system set job_queue_processes=0;alter system set aq_tm_processes=0;alter database open;alter database character set intern转载 2021-09-10 10:21:41 · 465 阅读 · 0 评论 -
linux下执行oracle sql脚本
1、登陆oracle用户(在linux上的安装用户)。2、将脚本上传至oracle用户目录下。3、cd 进入SQL脚本所在目录4、登录数据库:sqlplus /nolog 登陆sqlplus,然后:conn username/password@IP/dbname 连接数据库。(本机连接也可以把 “IP/” 去掉)5: 步骤四也可以使用代替:sqlplus username/password@IP/dbname连接数据库。(本机连接也可以把 “IP/” 去掉)6、@test.sql //执行te..原创 2021-02-20 00:22:10 · 5952 阅读 · 0 评论 -
Linux配置Oracle环境变量
一:当前客户端有效(比如:SecureCRT一个窗口,当前有效)在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量#oracle安装目录(注意:目录最好使用双引号区分):export ORACLE_HOME="/home/oracle/product/12.1.0/dbhome_1"; #oracle实例名export ORACLE_SID=orcl; #配置系统变量export PATH=$ORA.转载 2021-02-19 23:55:50 · 3963 阅读 · 0 评论 -
数据库连接池篇
1:proxoolhttps://www.cnblogs.com/lslk89/p/6900942.htmlhttps://www.cnblogs.com/saeba/archive/2010/11/12/1875851.htmlhttps://blog.csdn.net/yjboy1982/article/details/15140112: C3P0:https://www.cnblogs.com/ygj0930/p/6405861.htmlhttps://blog.csdn.ne原创 2021-01-28 16:37:37 · 65 阅读 · 0 评论 -
Oracle学习篇
1: Oracle创建用户并授权:https://blog.csdn.net/ly510587/article/details/95459299原创 2021-01-25 14:58:45 · 69 阅读 · 0 评论 -
oracle常用函数详解(详细)
OracleSQL提供了用于执行特定操作的专用函数。这些函数大大增强了SQL语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。Oracle数据库中主要使用两种类型的函数:1.单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,比如:MOD(x,y)返回x除以y的余数(x和y可以是两个整数,也可以是表中的整数列)。常用的单行函数有:Ø字符函数:对字符串操作。Ø数字函数:对数字进行计算,返回一个数字。Ø转换函...转载 2020-11-02 13:54:01 · 489 阅读 · 0 评论 -
MySQL常用函数大全(总结篇)
本篇文章讲解是是MySQL的函数方法,涵盖所有的MySQL常见的方法。下面是本篇文章的目录结构,可以根据自己需求点击右方目录查找:一、数字函数 二、字符串函数 三、日期函数 四、MySQL高级函数(一)数字函数1、ABS(x) 返回x的绝对值SELECT ABS(-1);---- 返回11 22、AVG(expression) 返回一个表达式的平均值,expression 是一个字段SELECT AVG(age) FROM student;13、CEIL(转载 2020-11-02 00:32:49 · 314 阅读 · 0 评论 -
关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
产生原因:出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。解决办法:1,SecureCRT登录服务器,切换用户Oracle,连接oracle[root@userbeta~]# su - oracle[oracle@userbeta~]$ sqlplus /nologSQL> connect /as sysdba2,检查flash recovery area的.转载 2020-09-25 16:31:24 · 1309 阅读 · 0 评论 -
mysql导入导出sql文件
window下1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname users> dbname_users.sql3.导出一个数据库结构mysqldump -u dbuser -p -d --add-drop-t转载 2020-05-15 09:45:36 · 149 阅读 · 0 评论 -
Linux下启动/关闭Oracle
(1) 以oracle身份登录数据库,命令:su – oracle(2) 进入Sqlplus控制台,命令:sqlplus /nolog(3) 以系统管理员登录,命令:connect / as sysdba(4) 启动数据库,命令:startup(5) 如果是关闭数据库,命令:shutdown immediate(6) 退出sqlplus控制台,命令:exit(7) 进入监听器控制台...原创 2019-10-28 14:24:36 · 152 阅读 · 0 评论 -
Mysql 忘记root密码的完美解决方法
一、更改my.cnf配置文件1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf2.在[mysqld]下添加skip-grant-tables,然后保存并退出3.重启mysql服务:service mysqld restart二、更改root用户名1.重启以后,执行mysql命令转载 2017-08-30 19:06:19 · 401 阅读 · 0 评论 -
阿里云linux上安装与配置Mysql
环境:阿里云ECS服务器,系统为centos7.2删除原来的数据库:centos7中默认安装了数据库MariaDB,如果直接安装MySQL的话,会直接覆盖掉这个数据库,当然也可以手动删除一下:[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb[root@localhost ~]# rpm -e --node...转载 2019-07-17 18:28:53 · 94 阅读 · 0 评论 -
Mysql常用操作
这篇文章用于记录Mysql的常用基础操作,内容较多,可以当做简易的操作手册,使用时可以ctrl+f 进行搜索。1 登录数据库格式: mysql-h主机地址-u用户名-p用户密码–P端口–D数据库–e “SQL 内容”>mysql -uroot -p1234562 修改密码格式:mysqladmin -u用户名 -p旧密码 password...转载 2019-08-20 15:14:26 · 109 阅读 · 0 评论 -
Oracle分页实现
1 在ORACLE数据库中,ROWNUM是ORACLE数据库为查询结果加入的一个伪列。起始值为1。经常使用来处理查询结果的分页。2 因为ROWNUM的特殊性,使用时候一般是分三层:第一层:先进行查询及order by排序。第二层:查询相应的列及ROWNUM;第三层:在where 加入ROUWNUM条件;3 在scott模式下在emp表中查询收入最高的前五名的员工信息s...原创 2019-08-21 17:56:57 · 150 阅读 · 0 评论 -
mysql数据库(完整)
安装:mysql的绿色版安装,请看:https://blog.csdn.net/wei_li_2015/article/details/80731553。启动mysql:#net start mysql关闭mysql:#net stop mysql登录:mysql -u root -p root退出:exit 或者是 quit连接数据库服务器1. 方式一:直接输入用户名与密码链接...转载 2019-10-09 15:23:32 · 402 阅读 · 0 评论 -
非常不错的手写的数据库连接池
import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.Driver;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.util.Enumerat...转载 2019-10-09 16:27:28 · 99 阅读 · 0 评论 -
纯手写数据库连接池
数据库连接池原理基本原理在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法。如外部使用者可通过getConnection方法获取数据库连接,使用完毕后再通过releaseConnection方法将连接返回,注意此时的连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。线程池作用①资源重用由于数据库连接得到重用,避免了频繁创建、...转载 2019-10-09 16:29:26 · 85 阅读 · 0 评论 -
Mysql Date类型与String类型转换
总结:1: DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s') 格式:年月日 时分秒2:字符串转日期:date(20170101)------------------------------------------------------------------------------------------------------------------...转载 2019-07-16 09:54:04 · 3193 阅读 · 0 评论 -
从原理到实战,带你搞懂MySQL!
出处 | 极客时间《MySQL 实战 45 讲》专栏我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:mysql> select * from T where ID=10;...转载 2019-04-28 10:58:51 · 157 阅读 · 0 评论 -
Oracle创建用户、角色、授权、建表
oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删...转载 2019-04-28 10:10:25 · 116 阅读 · 0 评论 -
mysql数据库sql语句的一些常用优化方法
1.应尽量避免在 where 子句中使用!=或2.对在where中常用的字段,可以适当建立合适的索引。通常在mysql数据库中,为一个表中加入索引,代码格式为:ALTER TABLE ADD INDEX ();例如:alter table test add index(t_name); 可以通过describe table_name来查看表中索引等转载 2018-01-03 13:46:06 · 199 阅读 · 0 评论 -
SQL常用优化
1: sql语句优化:用join取代not inselect ID,name from Table_A where ID not in (select ID from Table_B)这句是最经典的not in查询了。改为表连接代码如下:select Table_A.ID,Table_A.name from Table_A left join Table_B on转载 2018-01-02 10:13:17 · 191 阅读 · 0 评论 -
Linux下oracle数据库启动和关闭操作
Linux下oracle数据库启动和关闭操作第一步:登陆 root登陆之后切换到oracle用户上,输入 su oracle第二步:连接 在oracle用户下,输入 sqlplus /nolog第三步:使用管理员权限 输入 connect /as sysdba第四步:启动/关闭服务 输入 startupstartup参数 不带转载 2017-09-20 14:14:07 · 155 阅读 · 0 评论 -
PL/SQL客户端连接问题
安装步骤: 一: 首先需要正确的使用Oracle客户端,找到与数据库对应版本的客户端,其中instantclient_10支持oracle9和oralce10版本,instantclient_12版本支持oracle11g和oralce12c版本。需要注意的是:客户端一定要下载32位的。 二:如果安装或者解压PL/SQL后,点击开启PL/SQL客户端:显示如原创 2017-09-26 09:57:30 · 459 阅读 · 0 评论 -
ORA-12154: TNS: 无法解析指定的连接标识符 - 解决方案
oracle 客户端 plsql转载 2017-05-26 10:06:03 · 1126 阅读 · 0 评论 -
一张图让你搞清楚Oracle 数据库的Union和Join
转载 2017-05-23 09:45:16 · 2788 阅读 · 1 评论 -
Tomcat配置用户名和密码
tomcat6.0配置用户名和密码:1.找到根目录下/conf/tomcat-users.xml2.在中添加如下: 3.保存后启动tomcat,用户名和密码输入admin即可tomcat7.0配置用户名和密码:1.找到根目录下/conf/tomcat-users.xml2.在中添加转载 2017-04-06 09:15:16 · 1693 阅读 · 0 评论 -
Oracle bat批处理文件执行SQL文件
Oracle bat批处理文件执行SQL文件现实的项目中经常可能会出现需要用批处理文件来执行sql文件。下面就介绍下用bat批处理文件调用独立的sql文件和数据库中的存储过程。一、bat文件调用sql文件 首先,做一个简单的sql文件(log.sql)。create table log (转载 2016-09-20 00:29:09 · 2060 阅读 · 0 评论 -
oracle用户创建及权限设置
oracle 权限转载 2016-09-14 23:41:18 · 218 阅读 · 0 评论 -
MySQL添加用户、删除用户与授权
MySQL添加用户、删除用户与授权MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @>密码 1.2 创建用户: mysql> insert into mysql.user(Host,User,Password) values("loc...转载 2018-05-28 19:18:25 · 154 阅读 · 0 评论 -
mysql获取当天,昨天,本周,本月,上周,上月的起始时间
-- 今天SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始';SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') AS '今天结束';-- 昨天SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:0...转载 2018-11-09 17:04:37 · 124 阅读 · 0 评论 -
关于数据库number与integer类型的区别
留意oracle中integer和number的区别; 建表的时候,如果是浮点数,一般设置为 number(m,n )[m为精度,n为小数位数,所以整数为m-n位], 整数设置为integer; 比如: create table abc ( a number(38,0), b number(38) c integer, ...原创 2014-02-13 14:55:32 · 1364 阅读 · 0 评论 -
mysql之存储过程
mysql之存储过程本文内容:什么是存储过程 存储过程的创建 存储过程的使用 查看存储过程 修改存储过程 删除存储过程首发日期:2018-04-17什么是存储过程:存储过程存储了一系列sql语句 存储过程的需求场景:下边是一个经典的需求场景,很多Mysql的书都有: 存储过程存储了一系列sql语句,使得简化了操作,不要求重复执行一系列操作。只需要在...转载 2019-03-21 00:29:51 · 104 阅读 · 0 评论 -
mysql之触发器
mysql之触发器本文内容:什么是触发器 创建触发器 单条触发器语句 多条触发器语句 查看触发器 删除触发器 触发器的新旧记录引用首发日期:2018-04-14什么是触发器:触发器用来在某些操作之后,“自动”执行一些操作。(比如插入了新的学生信息,那么在班级表中应该修改学生数)。 当insert delete u...转载 2019-03-21 00:27:45 · 123 阅读 · 0 评论