数据库
hellohello3306
这个作者很懒,什么都没留下…
展开
-
mysql修改root用户密码
登录mysql执行以下语句按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:然后输入正确的密码,进入mysql然后修改密码:设置成功后,重启mysql服务,使用新密码登录。原创 2023-02-22 12:42:04 · 1667 阅读 · 1 评论 -
Linux上oracle和mysql的启动,关闭,重启
进入oracle用户:su oracle查看oracle监听状态:lsnrctl status执行启动监听,通过命令:lsnrctl start登录oracle:sqlplus / as sysdba启动oracle实例:startup open登录oracle,关闭实例:shutdown immediate;SQL> shutdown immediateSQL> startup open.........原创 2022-06-23 10:33:46 · 426 阅读 · 0 评论 -
pg库配置字段自增
COMPANY表中ID为自增主键CREATE TABLE COMPANY( ID SERIAL primary key , NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);原创 2022-04-28 14:39:54 · 1707 阅读 · 1 评论 -
pg库查看某模式下某表的分布键
SELECT aaa.nspname AS "模式名", aaa.relname AS "表名", ccc.attname AS "分布键"FROM ( SELECT aa.oid, aa.relname, bb.pcattnum, dd.nspname FROM pg_class aa LEFT JOIN pgxc_class bb ON aa.oid = bb.pcrelid ...原创 2022-04-22 16:22:50 · 2565 阅读 · 0 评论 -
oracle 修改默认临时表空间
--创建临时表空间create temporary tablespace wdy_temptempfile 'D:\oracle\app\oracle\oradata\XE\wdy_temp.DBF'size 50mautoextend onnext 50m maxsize unlimitedextent management local;--修改默认表空间为新建的临时表空间alter database default temporary tablespace temp01;...原创 2021-12-29 09:47:33 · 2059 阅读 · 0 评论 -
pg库对姓名进行校验
select coalesce(SUBSTRING(xm, '^([\u4e00-\u9fa5]{1,20}|([\u4e00-\u9fa5]{1,20}·[\u4e00-\u9fa5]{1,20}))$'),'111') ;原创 2022-01-26 15:29:04 · 296 阅读 · 0 评论 -
oracle库恢复数据
SELECT *FROM test2 AS OF TIMESTAMP TO_TIMESTAMP('2021-12-30 13:05:00', 'YYYY-MM-DDHH24:MI:SS');原创 2021-12-30 14:06:13 · 449 阅读 · 0 评论 -
Oracle和mysql批量查询用户下所有表名和表名注释
Oracle下查询:SELECT table_name 表名,table_comment 表说明 FROM information_schema.TABLES WHEREtable_schema = '用户名'ORDER BY table_name descMySQL下查询:select table_name,comments from user_tab_comments order by table_name desc原创 2022-03-23 17:04:14 · 1068 阅读 · 0 评论 -
mysql和pg库遇到冲突数据时的两种处理方式
mysql处理方式1.IGNORE当使用INSERT语句向表中添加一些行数据并且在处理期间发生错误时,INSERT语句将被中止,并返回错误消息。因此,可能不会向表中没有插入任何行。但是,如果使用INSERT INGORE语句,则会忽略导致错误的行,并将其余行插入到表中。insert IGNORE into table(xxx,xxx) VALUES (xxx,xxx);insert IGNORE into `test` (`id`,`name`,`times`,`add_time`)V.原创 2022-01-20 12:41:33 · 1300 阅读 · 0 评论 -
mysql和pgsql时间相关操作
mysql时间操作获取当前时间select now();2022-01-15 15:31:34.0获取当前时间的前1天时间select DATE_SUB(CURRENT_TIMESTAMP,INTERVAL 1 day);可选值如下:字符串转dateselect str_to_date(DATE_SUB(now(),INTERVAL 0 day),'%Y-%m-%d %H:%i:%s');时间格式化select date_format(now(),'%Y-%m-.原创 2022-01-15 15:50:29 · 6254 阅读 · 0 评论 -
专用窗口函数rank, dense_rank, row_number
select *, rank() over (order by 成绩 desc) as ranking, dense_rank() over (order by 成绩 desc) as dese_rank, row_number() over (order by 成绩 desc) as row_numfrom 班级表原创 2021-12-30 11:26:51 · 1080 阅读 · 0 评论 -
常用于融合去重的窗口函数row_number
select *, row_number() over (partition by 班级 order by 成绩 desc) as rankingfrom 班级表原创 2021-12-30 10:47:55 · 192 阅读 · 0 评论 -
窗口分析函数LAST_VALUE,FIRST_VALUE,lag,lead
with abc as (select 1 as id union allselect 2 union allselect 3 union allselect 4)select id,FIRST_VALUE(id) over(order by id ) as firstid,LAST_VALUE(id) over(order by id) as lastidfrom abcFIRST_VALUE 一看就明白了。但last_value 为什么就是当前行的值呢?明明该是4才对啊.原创 2021-12-30 10:27:36 · 970 阅读 · 0 评论 -
oracle中生成32位uuid
select sys_guid() from dual原创 2021-12-28 15:09:25 · 3125 阅读 · 0 评论 -
oracle数据库将多个列的查询结果集合并到一行中
方法一:select field1,listagg(field3,',') within GROUP (order by field3) from test group by field1;方法二(在方法一报出所拼接的字符串长度过长时,使用方法二):select field1,xmlagg(xmlparse(content field3||',' wellformed) order by field3).getclobval() from test1 group by field1...原创 2021-12-27 10:07:22 · 3884 阅读 · 0 评论 -
oracle清除sql的缓存
ALTER SYSTEM FLUSH SHARED_POOL;ALTER SYSTEM FLUSH BUFFER_CACHE;ALTER SYSTEM FLUSH GLOBAL CONTEXT;原创 2021-12-21 10:22:51 · 1089 阅读 · 0 评论 -
oracle表空间表分区详解及oracle表分区查询使用方法
此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念2.表分区的具体作用3.表分区的优缺点4.表分区的几种类型及操作方法5.对表分区的维护性操作.表空间及分区表的概念表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理转载 2021-12-20 17:13:36 · 2614 阅读 · 0 评论 -
oracle创建表空间和修改用户默认表空间
--表空间CREATE TABLESPACE sdtDATAFILE 'F:\tablespace\demo' size 800M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; --索引表空间CREATE TABLESPACE sdt_IndexDATAFILE 'F:\tablespace\demo' size 512M EXTENT MANAGEMENT LOCAL SEGM.原创 2021-12-20 11:38:20 · 4836 阅读 · 0 评论 -
sys.dbms_scheduler.create_job创建定时任务(功能更强大丰富)
创建jobbegin sys.dbms_scheduler.create_job(job_name => 'GIS.TEST_JOB', job_type => 'STORED_PROCEDURE', job_action => 'pc_test',原创 2021-12-16 11:19:25 · 840 阅读 · 0 评论 -
oracle计算两日期相差多少秒,分钟,小时,天
--计算两个时间差相差多少秒select (sysdate-to_date('2021/12/14 17:00:00','yyyy/mm/dd hh24:mi:ss'))*24*60*60 from dual--计算两个时间差相差多少分select (sysdate-to_date('2021/12/14 17:00:00','yyyy/mm/dd hh24:mi:ss'))*24*60 from dual--计算两个时间差相差多少时select (sysdate-to_date('202..原创 2021-12-15 14:56:23 · 5214 阅读 · 0 评论 -
测试oracle库700万数据量普通方式创建索引所需时间
oracle数据库表700多万数据用普通方式创建索引大概需要8分钟原创 2021-12-15 11:26:56 · 2588 阅读 · 0 评论 -
oracle存储过程中is和as区别
在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别;在视图(VIEW)中只能用AS不能用IS;在游标(CURSOR)中只能用IS不能用AS。总结:便于好记,游标中用is,其他都用as原创 2021-12-14 10:06:01 · 2802 阅读 · 0 评论 -
Oracle Job定时任务的使用详解
oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据一1.创建一张测试表-- Create tablecreate table A8( a1 VARCHAR2(500))tablespace DSP_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M mine..转载 2021-12-13 16:23:34 · 8341 阅读 · 1 评论 -
oracle生成毫秒级时间戳
SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) AS MILLIONS FROM DUAL;原创 2021-12-13 15:30:10 · 962 阅读 · 0 评论 -
oracle通过触发器和序列来定义自增主键,并且设置定时任务每秒钟插入一条数据到目标表
create table classinfo( classid number(2) primary key, classname varchar(10) not null ); -- Create sequence create sequence CLASSINFO_SEQminvalue 1maxvalue 9999999999999999999999999999start with 1increment by 1nocache;..原创 2021-12-13 15:17:50 · 680 阅读 · 0 评论 -
SQL中 with函数的详解与用法
WITH AS短语,也叫做子查询部分,定义一个SQL片断后,该SQL片断可以被整个SQL语句所用到。有的时候,with as是为了提高SQL语句的可读性,减少嵌套冗余。在标准的数据库中,如hive,Oracle,DB2,SQL SERVER,PostgreSQL都是支持WITH AS 语句进行递归查询。只有MySQL是不支持的。with A as(select distinct(sno),sname,ssex,sclass from student),B as(select sno,cno.原创 2021-12-10 17:27:49 · 7164 阅读 · 0 评论 -
通过rownum来进行区间查询
select * from (select rownum no,id,name from students ) where no>=2 and no<=4原创 2021-12-01 11:24:50 · 335 阅读 · 0 评论 -
Oracle锁表查询和解锁方法
查看被锁表信息select sess.sid,sess.serial#,lo.oracle_username '登录的账号',lo.os_user_name '登录的电脑', ao.object_name '被锁的表名',lo.locked_mode '锁住的级别' from v$locked_object lo,dba_objects ao,v$session sess where ao.object_id=lo.object_id and lo.session_id=sess.sid;原创 2021-11-29 15:14:05 · 890 阅读 · 0 评论 -
Oracle索引状态查询与索引重建
1,查询索引状态1.1 查询user_indexes表select status,T.* from user_indexes T where table_name='表名'状态列STATUS说明: valid:当前索引有效 N/A :分区索引 有效 unusable:索引失效1.2 查询分区索引-user_ind_partitions表select index_name, partition_name, status from user_ind_partitio...转载 2021-11-29 15:02:45 · 3692 阅读 · 0 评论 -
oracle视图相关
创建只读视图:create view students_vas select sno,sname from studentswith read only原创 2021-11-29 13:05:07 · 427 阅读 · 0 评论 -
oracle表的约束详解
Constraint 约束名如不给约束指定起名,那么oracle会自动给约束起名表级约束和列级约束作用范围: ①列级约束只能作用在一个列上 ②表级约束可以作用在多个列上(当然表级约束也可以作用在一个列上)定义方式:列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义。非空(not null) 约束只能定义在列上NOT NULL 非空约束只能定义在列级:CREATE TABLE test( employee_id NUMBER(6), la...转载 2021-11-24 16:29:46 · 524 阅读 · 0 评论 -
oracle给对象重命名
可以修改表名,视图,序列都行。将表student的表名改为students:renamestudentto students原创 2021-11-24 13:31:48 · 565 阅读 · 0 评论 -
oracle对表字段的修改
主要操作:1.添加字段;2.删除字段;3.修改字段(修改字段的类型,修改字段的长度)1.添加字段:总是可以成功,新添加的字段出现在表的最后面。altertablestudentadd tel varchar2(11);altertablestudentadd addrvarchar2(11);2.删除字段:总是可以成功,不管是否有数据,都可以删除掉。altertablestudent drop colum...原创 2021-11-24 13:27:56 · 6776 阅读 · 0 评论 -
oracle分区的相关操作
查看分区内的数据select count(1) from表名partition(分区名);查看子分区内的数据select count(1) from表名 subpartition(分区名);删除分区(操作后,分区和分区内的数据都没有了)ALTER TABLE表名 DROP PARTITION分区名;删除子分区(操作后,子分区和子分区内的数据都没有了)ALTER TABLE表名 DROP SUBPARTITION子分区名;truncate分区...原创 2021-11-23 11:12:56 · 1905 阅读 · 0 评论 -
oracle用delete删除数据所需时间测试
一千万数据量所需时间16分钟左右两千万数据量所需时间原创 2021-11-18 15:02:09 · 4670 阅读 · 0 评论 -
oracle杀死正在执行的sql
查出正在执行的sqlSELECT b.sid oracleID,b.username 登录Oracle用户名,b.serial#,spid 操作系统ID,paddr,sql_text 正在执行的SQL,b.machine 计算机名FROM v$session bleft join v$process a on a.addr = b.paddrleft join v$sqlarea c on b.sql_hash_value = c.hash_value如何写 杀死进程的.原创 2021-10-15 09:33:42 · 725 阅读 · 0 评论 -
sql优化
查询语句中尽量不要使用select * 尽量减少使用子查询,使用关联查询代替 减少使用IN或NOT IN,使用exists、not exists代替或使用关联查询语句代替 or的查询尽量union或者union all替代(在确认没有重复数据或者不用剔除重复数据时,union all会更好) 应尽量避免在where子句中使用!=或<>操作符,否则引擎将放弃使用索引而使用全表扫描 应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而使用全表扫面,如: sel原创 2020-10-22 20:07:08 · 72 阅读 · 0 评论 -
数据库中92语法跟99语法的区别
数据库中92语法跟99语法的区别92语法1.笛卡尔积--笛卡尔积--使用的字段,是多个表中存在的,指定字段的来源--可查询的字段为连接的几张表中任意一个字段,当该字段在多张表中出现的时候,此时需要通过表名指定是哪一张表中的字段,否则报错select empno,emp.deptno from emp,dept;2.等值连接--等值连接 可以是相同名字的字段,也可以是非相同名字的字段,但是要保证两个字段的类型相同select * from emp,dept where em原创 2020-07-23 21:41:43 · 2522 阅读 · 1 评论 -
MySQL中的如何利用limit进行分页
select * from user limit 参数一,参数二;其中参数一:表示从第几条记录开始查询参数二:表示此次要查询多少条记录例如:select * from user limit 0,10;表示从第1条记录开始查询10条记录出来select * from user limit 2,10;表示从第(2-1)*10条记录开始查询(不包含该条记录),查询出10条记录select * from user limit (pageNo-1)*pageSize, pageSize;通常pa.原创 2020-09-15 20:52:53 · 426 阅读 · 0 评论 -
数据库的事务
事务(transaction)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行。事务具备以下四个属性,简称ACID;原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的),要么都执行,要么都不执行;一致性(Consistency):当事务完成时,数据必须处于一致的状态;隔离性(Isolation):对数据进行修改的所有并发事务都必须是隔离的,这表明事务必须是独立的,它不应以任何方式依赖或影响其他事务;永久原创 2021-09-09 13:46:27 · 63 阅读 · 0 评论