sql数据库
Inovation_Sky
多情自古空余恨
展开
-
sql分组查询并去重
前段时间项目想sql查询出同一个项目的不同人做的事读破wanjuanshu原创 2014-10-11 19:04:13 · 5128 阅读 · 0 评论 -
创建数据库表空间和分配用户权限
create tablespace xucspace datafile 'D:\oracle\xucspace' size 1024m //create user username identified by password default tablespace xucspace create user xuc identified by xuc default tablespace原创 2015-12-31 13:18:43 · 414 阅读 · 0 评论 -
SQL中IN与EXISTS的比较
由于要使用 in,后来在网上找找了,发现有如下文章,大家共享一下。一起进步啦。使用in的话,如果存在索引,和使用 join 性能差别不大。转载自http://blog.chinaunix.net/u/4929/showart_1075412.htmlIN 确定给定的值是否与子查询或列表中的值相匹配。 EXISTS 指定一个子查询,检测行的存在。 比较使用 EXI转载 2015-12-04 21:56:39 · 328 阅读 · 0 评论 -
SQL模糊查询语句和Escape转义字符
SQL模糊查询语句和Escape转义字符(2008-09-22 14:26:01)标签:from 转义字符 sql 单引号 通配符 escape it 通配符描述示例%包含零个或更多字符的任意字符串。WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。_(下划线)任何单个字符。WHERE au_fname LIKE转载 2016-01-14 12:00:12 · 859 阅读 · 0 评论 -
JDBC之DatabaseMetaData之获取表的所有列名
获取数据库指定表的所有列及相应的信息:(以MySQL和Oracle为例,其他类型的数据库接触不多,不做解释)Connection接口中提供了DatabaseMetaData接口:提供:getColumns()方法,该方法需要传进4个参数:第一个是数据库名称,对于MySQL,则对应相应的数据库,对于Oracle来说,则是对应相应的数据库实例,可以不填,也可以直接使用Connectio原创 2016-03-08 11:58:20 · 12126 阅读 · 0 评论 -
Oracle sql中(+)号作用
Oracle 外连接(1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 外连接(Outer Join)outer join则会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。外连接分为三种: 左转载 2016-04-01 18:49:25 · 1323 阅读 · 0 评论 -
使用WITH AS提高性能简化嵌套SQL
一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如转载 2016-04-01 19:52:23 · 853 阅读 · 0 评论 -
浅谈sql中的in与not in,exists与not exists的区别
1、in和existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;例如:表A(小表),表B(大表)select原创 2016-09-18 16:47:10 · 385 阅读 · 0 评论 -
tomcat连接池l配置数据库连接取备注
<Resource auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000" name="XXDataSource" url="j原创 2016-12-13 09:57:25 · 485 阅读 · 0 评论 -
mysql命令
C:/>mysql -uroot -pEnter password: ******Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 2Server version: 5.1.22-rc-community-log MySQL Community Server (GPL)原创 2016-12-27 23:49:01 · 1140 阅读 · 0 评论 -
分析mysql的递归查询子节点函数
一般大家都喜欢在mysql中写递归函数查询子节点如下: CREATE DEFINER = `mysql_xxx`@`%` FUNCTION `NewProc`(pid VARCHAR(40), holdPid INT) RETURNS varchar(20000)BEGIN #根据指定ID获取下级模块所有节点信息, pid 指定ID, holdPid是否保留父节点ID, 0 ...原创 2018-01-02 17:52:42 · 919 阅读 · 0 评论 -
解决MYSQL5.7由于设置了skip-grant-tables跳过认证再改回来后无法登录问题
在MYSQL的C:\ProgramData\MySQL\MySQL Server 5.7下面my.ini中增加[mysqld]skip-grant-tables该配置能跳过所有认证,将MYSQL设置不需要任何密码和用户都能登入,这个是非常不安全的,当我们设置改配置后再把该配置去掉后,再登录MYSQL会报045 access denied for user 'root'@'localho...原创 2018-08-28 20:11:12 · 9663 阅读 · 0 评论 -
ORACLE查询数据库的表和列以及主键等约束信息
根据oracle数据库中的对象名称查询对象信息可以使用 dba_objects DBA_OBJECTS describes all objects in the database. Its columns are the same as those in "ALL_OBJECTS".如:select * from dba_objects where object_name ='T_T...原创 2019-02-22 11:04:13 · 1545 阅读 · 0 评论 -
ORA-01795:列表中的最大表达式数为1000采用分页方式的解决方法
原因:SQL里面的IN中的数据量不能超过1000条 解决办法: 例如 Select * from tablename where col in (‘col1’,’col2’ ……..) 如果in 后面的Item过多的话,超过1000就会出现这种错误。 解决方法是: Select * from tablename where col in (‘col1’,’col2’ …….原创 2015-10-28 14:38:03 · 3517 阅读 · 0 评论 -
Oracle 阻塞会话的查看与解除
关于Oracle 阻塞会话的查看与解除,这里只讲操作步骤,不讲原理。Session 1 更新对象单没有提交Session 2 更新的时候由于等待session1 锁更新行的tx 锁而陷入阻塞Session 3更新的时候由于等待session1 锁更新行的tx 锁也陷入阻塞问题的根源可以通过以下的查询获取。可以看出sid 100原创 2015-11-09 17:42:19 · 3119 阅读 · 0 评论 -
如何通过sql准确查出一天的数据
之前做项目时候想用sql查出某人一天做的数据原创 2014-10-11 18:20:48 · 5838 阅读 · 0 评论 -
oracle10g在windows中的5个服务的作用以及启动
1. OracleDBConsoleorcl 数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl.在运行Enterprise Manager 的时候,需要启动这个服务。此服务被默认设置为自动开机启动的,是启动em的,如果OracleDBConsoleorcl不能启动,oracle的em将无法使用。启动服务项 OracleDBConsoleorcl实际上是要运行prel.exe原创 2014-11-27 16:24:36 · 1713 阅读 · 0 评论 -
sql修改字段类型和长度
标准SQL修改字段类型和长度语句:ALTER TABLE tableName modify column columnName 类型;例如Mysql的修改字段类型语句:alter table test modify column name varchar(255);Oracle修改字段类型和长度语句:ALTER TABLE tableName modify(columnNa原创 2015-01-27 20:26:27 · 53576 阅读 · 0 评论 -
sql基础知识left join,right join,inner join区别
1.left join即以左表为主查出左bian原创 2014-10-11 19:07:29 · 4488 阅读 · 0 评论 -
sql查出某条记录大于1条的信息
如查询凭证中来源sourcebillID存在两条的数据select count(fsourcebillID),fsourcebillID from T_GL_Voucher where fsourcebillID in (select fid from T_BC_BizAccountBill) group by fsourcebillID having count(fsourcebill原创 2015-01-20 15:26:26 · 5503 阅读 · 0 评论 -
oracle行转列(连接字符串函数)
方法一:wmsys.wm_concat(column) 介绍:其函数在Oracle 10g推出,在10g版本中,返回字符串类型,在11g版本中返回clob类型。括号里面的参数是列,而且可以是多个列的集合,也就是说在括号里面可以自由地用‘||’合并字符串。如下面的例子: Select u_id, wmsys.wm_concat(goods || '(' || num || '斤)'原创 2015-03-26 11:05:42 · 1576 阅读 · 0 评论 -
提高SQL查询效率
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: selec原创 2015-03-26 10:37:51 · 354 阅读 · 0 评论 -
sql中case when写法
如果需要转换查出值的显示可以使用case when 如:select id,case state when 1 then '暂存' when 2 then '提交' else '其他' end from t_t_table 或者使用select id, state=( case fstate when 1 then '暂存' when 2 then '提交' else '其他' end )原创 2015-03-26 10:59:40 · 812 阅读 · 0 评论 -
批处理batch,执行多个SQL语句
批处理batch,执行多个SQL语句。[sql] view plaincopytry{ stmt=conn.createStatement(); conn.setAutoCommit(false);//取消自动提交 stmt.addBatch("insert into person (name,pa转载 2015-04-03 19:23:37 · 1071 阅读 · 0 评论 -
oracle修改字段类型时报"要更改的列必须为空"处理方法
执行以下语句报"要修改数据类型,则要更改的列必须为空" alter table 表名 modify (目标字段 varchar2(100));解决步骤:第一步,在表中加一个临时字段 alter table 表名 add 临时字段 目标字段原来的类型;第二步,将目标字段的值付给临时字段,并将目标字段置空 update 表名 set 临原创 2015-04-17 09:54:37 · 5870 阅读 · 1 评论 -
数据库几种Top子句的使用方法
不同数据库中TOP语句的使用SQL Server 的语法:SELECT TOP number|percent column_name(s) FROM table_name MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的。MySQL 语法:SELECT column_name(s) FROM table_name LIMIT number原创 2015-07-22 22:38:52 · 11852 阅读 · 0 评论 -
Oracle如何实现跨库查询
. 实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中。二. 实现方法步骤: 1. 创建存储过程 2. 在存储过程中先创建database link 3. 创建成功 4. 从另一个数据库取出数据插入到当前数据库中转载 2015-09-09 20:21:24 · 393 阅读 · 0 评论 -
ORACLE创建DB link类型的同义词表
目前存在一个这样的业务需求,两个不同实例的ORACLE数据库, 数据库A和数据库B,我需要在A库中查询B库中的业务表 T_TEST_LINK,并且我直接想在A库中使用select * from T_TEST_LINK查询不写 select * from B.T_TEST_LINK@link_to_B的繁琐SQL。第一步:在A库中创建DB link-- Create database ...原创 2019-02-19 10:34:19 · 402 阅读 · 0 评论