라벨이 SQL인 게시물 표시

[SQL] 오라클 시퀸스 조회

select BOARDNO.nextval from dual

[SQL] MSSQL 명령어 모음

▒▒▒ Database Name ▒▒▒ SELECT name FROM master.dbo.sysdatabases WHERE HAS_DBACCESS(name) = 1 ▒▒▒ Table Name ▒▒▒ SELECT name FROM 데이타베이스네임.dbo.sysobjects WHERE xtype='U' AND status > 0 ▒▒▒ Table Schema ▒▒▒ EXEC SP_COLUMNS '테이블이름' sp_help 'tablename'

[SQL] Oracle CLOB,BLOB

import 시켜야할 API ① oracle.sql.BLOB ② oracle.sql.CLOB ③ oracle.jdbc.driver.OracleResultSet 2) CLOB ① DB에 CLOB 데이터형 쓰기 // UPDATE 또는 INSERT 명령으로 DB 에 공간 확보 String query = "UPDATE TABLE SET CLOB_DATA = EMPTY_CLOB() " ; stmt.executeUpdate(query); // 그런 다음 다시 요놈을 다시 SELECT query = "SELECT CLOB_DATA FROM TABLE WHERE ~ " ; stmt = dbConn.createStatement(); rs = stmt.executeQuery(query); if(rs.next()) { CLOB clob = null; Writer writer = null; Reader src = null; char[] buffer = null; int read = 0; clob = ((OracleResultSet)rs).getCLOB(1); writer = clob.getCharacterOutputStream(); // str -> DB에 넣을 내용 src = new CharArrayReader(str.toCharArray()); buffer = new char[1024]; read = 0; while ( (read = src.read(buffer,0,1024)) != -1) { writer.write(buffer, 0, read); // write clob. } ...

[SQL] 대용량 오브젝트 타입 - CLOB, BLOB

################################################################################################### # source site : blog.naver.com/tangamjaelt # master : 강용운 # email : tangamjaelt@korea.com # last release : 2007.08.30 ################################################################################################### 1. LOB - LOB은 TEXT, 그래픽, 이미지, 비디오, 사운드 등 구조화되지 않은 대형 데이터를 저장하는데 사용한다. - 일반적으로 테이블에 저장되는 구조화된 데이터들은 크기가 작지만, 멀티미디어 데이터는 크기가 크다. - 크기가 큰 데이터는 DB에 저장하기 힘들기 때문에 OS상 존재하는 파일을 데이터베이스가 접근하게 된다. - LONG, LONG RAW 데이터 유형은 예전에 사용던 것이고, 현재는 대부분 LOB 데이터 유형을 사용한다. - TO_LOB 함수를 이용하여 LONG 및 LONG RAW 를 LOB 으로 변경할 수 있다. 종류 - CLOB : 문자 대형 객체 (Character). Oracle Server는 CLOB과 VARCHAR2 사이에 암시적 변환을 수행한다. - BLOB : 이진 대형 객체 (Binary). 이미지, 동영상, MP3 등... - NCLOB : 내셔널 문자 대형 객체 (National). 오라클에서 정의되는 National Character Set을 따르는 문자. - BFILE : OS에 저장되는 이진 파일의 이름과 위치를 저장. 읽기 전용 모드로만 액세스 가능. 데이터베이스 내부, 외부에 따라 - 내부 : BLOB, CLOB, NCLOB - Table에 LOB 형식의 컬럼을 생성하고 이곳에 데이터의 실제위치를 가리...

[SQL] 오라클 내장함수

1. 숫자함수 ABS(n) : ABS함수는 절대값을 계산하는 함수입니다. CEIL(n) : CEIL함수는 주어진 값보다는 크지만 가장 근접하는 최소값을 구하는 함수입니다. EXP(n) : EXP함수는 주어진 값의 e의 승수를 나타냅니다. e는 2.171828183..입니다. FLOOR(n) : FLOOR함수는 주어진 값보다 작거나 같은 최대 정수값을 구하는 함수입니다. (CEIL 함수와 비교해 보세요. ) LN(n) : LN함수는 주어진 값의 자연로그 값을 반환합니다. MOD(m, n) : MOD함수는 m을 n으로 나누어 남은 값을 반환한다. n이 0일 경우 m을 반환합니다. POWER(m, n) : POWER함수는 m의 n승 값을 계산합니다. ROUND(n, [m]) : ROUND함수는 n값의 반올림을 하는 함수로 m은 소숫점 아래 자릿수를 나타낸다. SIGN(n) : SIGN함수는 n 0일 경우 1을 반환합니다. SQRT(n) : SQRT함수는 n값의 루트값을 계산한다. n은 양수여야 합니다. TRUNC(n, m) : TRUNC함수는 n값을 m 소숫점 자리로 반내림한 값을 반환합니다. (ROUND 함수와 비교해 보세요.) 2. 문자열 처리함수 CONCAT(char1, char2) : CONCAT 함수는 Concatenation의 약자로 두 문자를 결합하는 역할을 합니다. "||" 연산자와 같은 역할을 합니다. INITCAP(char) : 주어진 문자열의 첫 번째 문자를 대문자로 변환시켜 줍니다. LOWER(char) : 문자열을 소문자로 변환 시켜 줍니다. UPPER(char) : 문자열을 대문자로 변환 시켜 줍니다. LPAD(char1, n [,char2]) :왼쪽에 문자열을 끼어 놓는 역할을 합니다. n은 반환되는 문자열의 전체 길이를 나타내며, char1의 문자열이 n보다 클 경우 char1을 n개 문자열 만큼 반환합니다. RPAD(char1, n [,char2]) : LPAD와 반대로 오른쪽에 문자열을 끼어 놓는 역할을 합니다...

[SQL] 오라클의 Constraint(제약조건)

오라클은 종속된 테이블의 삭제를 방지하고 테이블에 유효하지 않은 데이타가 입력되는 것을 방지하기 위하여 constraint를 사용합니다. 1. constraint 지침 1) 제약조건에 이름을 지정하지 않으면 Oracle server가 SYS_Cn의 형식으로 자동으로 이름을 생성합니다. 2) 제약조건은 크게 테이블 레벨과 열 레벨로 정의할 수 있습니다. 2. constraint 정의 예제 SQL> CREATE TABLE EXAMPLE( ID NUMBER(6), NAME VARCHAR2(20) [CONSTRAINT NAME_CTR] NOT NULL, ----> 열 레벨(제약조건 이름을 생략하면 시스템이 자동으로 이름 생성 ... CONSTRAINT EXAMPLE_ID_PK PRIMARY KEY(ID)); ----> 테이블 레벨(제약조건 이름이 EXAMPLE_ID_PK로 생성) 3. constraint 유형 1) NOT NULL : 해당열에 널값이 없도록 하기 위한 제약조건 2) UNIQUE : 지정된 열에 대해 널값은 허용하나, 동일한 값은 허용되지 않는 제약조건 오라클 서버는 지정된 열에 대해 자동으로 인덱스를 생성 [예제] SQL> ...CONSTRAINT EXAMPLE_ID_UK UNIQUE(ID) 3) PRIMARY KEY : ...

[SQL] 오라클 테이블 작성 고급

- 테이블 작성 고급 - 무결성 - 기본키 생성 예제 create table test1 ( id number(4) primary key not null ,name varchar2(100) ,price number(8) ) desc user_constraints select constraint_name, table_name, constraint_type from user_constraints; create table test2 ( id number(4) constraint pk_test2_id primary key not null ,name varchar2(100) ,price number(8) ) desc user_constraints select constraint_name, table_name, constraint_type from user_constraints; - 두개의 필드를 한개의 기본키 작성 create table test3 ( gubun number(4) not null ,code char(4) not null ,name varchar2(100) not null ,constraint pk_test3_key primary key (gubun, code) ) desc user_constraints select constraint_name, table_name, constraint_type from user_constraints; -이미 작성된 테이블에 기본키 작성 create table test4 ( id number(4) not null ,name varchar2(100) ,price number(8) ); select constraint_name, table_name, constraint_type from user_constraints; alter table test4 add constraint pk_test4_key primary key (id); select constraint_name, ta...

[SQL] 오라클 종합 요약

--nvl(comm,0) --> comm이 널이면 0으로 대체 --nvl2(comm, 수식1, 수식2) comm이 널이 아니면 수식1을, 널이면 수식2를 반환 --coalesce(수식1, 수식2, 수식3, ...) 수식1이 널이 아닐 경우에 반환하고 널이면 수식2를, 수식2도 널이면 수식3을.... 반환 --|| --> 두 컬럼을 한컬럼으로 출력 (문자/숫자 구분없이 결합함) --distinct --> 중복열을 제거하여 오름정렬 후 출력 --chr(65) --> 아스키65값을 문자A로 표시 --ascii('A') --> 문자 A 를 아스키값 65로 표시] alter session set nls_date_format= -- sssss : 오늘 하루를 초로 변환하여 나타냄... 'yyyy-mm-dd hh:mi:ss sssss am'; -- hh : 12시간제, hh24 : 24시간제로 나타냄... (현재 세션에서만 적용됨) select value from v$parameter where name='db_block_size'; --환경정보확인(블럭사이즈) show parameter db_block_size; -- 기본환경정보 확인 (블럭사이즈) ***문자처리함수*** --upper(' ') --> 대문자로 변환 --lower(' ') --> 소문자로 변환 --initcap(' ') --> 첫 문자만 대문자로 변환, 나머지는 소문자로 변환 --to_char(sysdate, 'yyyy-mm-dd') --> 날짜를 포맷형식으로 출력하라... --sysdate --> 현재 시간/날짜 --current_date --> sysdate와 같다... --like에서 _는 글자 하나, %는 모든것.. --substr('abcde',3,2) --> 문자열중 3번째부터 2글자 출력 (한글도 1...

[SQL] 오라클문법

1.DataBase:관련된 자료들을 정리해서 모아둔 것. Table:자료의 묶음. Oracle DB:oracle SQL은 무한대 .DB는 유일하게 하나 cf>access tablespace로 분류될 뿐. field = attribute = col --> 세로줄:col명 record = entity = row --> 가로줄:row명 schema : table의 구조 2.관계형 DB DB의 모델 HDB:계층DB NDB:네트워크 DB RDB:관계형 DB ex>oracle RDBMS(관계형db엔진), MS-SQL * ORACLE제품 - db제품 : ORACLE ENTERPRISE SERVER제품(RDBMS): 기업용 NT ORACLE WORKGROUP SERVER제품:부서용 NT PERSONAL ORACLE WINDOW 95:교육용 WIN95 - 미들웨어 제품 : DB와 CLIENT를 연결시켜주는 제품 SQL*NET 2.2 - CLIENT TOOL 제품 : POWER OBJECT - 그룹단위의 프로그램 개발 TOOL DEVELOPER/2000-전사단위의 프로그램 개발 TOOL(FORMS,REPORT,GRAPICS) * DATA BROWSE:검색TOOL * SQL*PLUS:SQL명령을 구현할 수 있는 TOOL 3.SQL(STRUCTURED QUERY LANGUAGE) 관계DB를 처리하기 위해 고안된 언어로 , 독자적인 문법을 갖는 DB표준언어이다(ISO에서 지정) 4.SQL의 세가지 기능 DATA DEFINETION LANGUAGE (DDL):데이타 정의 기능, TABLE,VIEW등을 정의하는 기능 DATA MANIPULATION LANGUAGE(DML):데이타 조작기능,COL과 ROW에 대한 INSERT,DELETE,UPDATE하는 기능 D...

[SQL] 오라클 유용한 팁

1. Character Functions ①LOWER( column|expression ) LOWER('String') --> string : 소문자로 변환 ②UPPER( column|expression ) UPPER('String') --> STRING : 대문자로 변환 ③INITCAP( column|expression ) INITCAP('string') --> String : 첫글자만 대문자이고 나머지글자는 소문자로 변환 ④CONCAT( column1|expression1 ,column2|expression2 ) CONCAT('Good','String') --> GoodString : ||와 같은 역할을 한다. ⑤SUBSTR(column|expression, m [,n]) : m값이 음수면 문자값의 끝부터..) SUBSTR('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다. ⑥LENGTH( column|expression ) LENGTH('String') --> 6 : 문자열의 길이를 리턴한다. ⑦INSTR( column|expression, ) INSTR('String','r') --> 3 : 문자열에 'r'이 몇번째 위치하고 있나를 리턴한다. ⑧LPAD( column|expression,n,'string' ) : n 은 전체 길이 LPAD('String',10,'*') --> ****String : 10자리수중에 모자란 자리수를 '*'로 왼쪽에 채운다.(문자,숫자 가능!!!) ⑨ RPAD('String',10,'*') --> String**** : 10자리수중에 모자란 자리수를 '*'로 오른쪽에 채운다.(문자,숫자 가능!!!) ⑩ LTRIM...

[SQL] MySQL날짜 및 시간 관련 칼럼 함수

MySQL 함수 2-1 날짜 및 시간 관련 칼럼 함수 첫번째 아노..함수 입니다.. 갠적으로 싫어하는 게 함수라.. 양은 양대로 많고..이해한다고 해도.. 놓치지 쉬운 부분이라.. 실제로 사용하는 거 몇가지 빼고는.. 거의 모르고 살게 되지요.. 예전 웹마스터 교육 받고.. 그 당시 인기던.. pure lite dream 아이콘 방명록.. 이름이 맞나 모르겠네.. 그거 제작자한테 허락맞고 cgi 였던거를 php 로 컨버팅한적 있는데.. 웹프로그래밍 만들때는 MySQL 보다 php 함수가 더 큰 영향을 받아서.. MySQL 기분 문법 select insert update delete 밖에 안 썻었지.. 지금 보니.. 최종 수정 시간 입력할때.. 단지..MySQL 함수 하나로 끝날 수 있었네.. php 로 할때.. 일일히 시간 구해서 업데이트 방식 썻었는데.. 머 이로서.. 짜기전에 함수 한번 정도 알아 두면 좋다 ㅇㅅㅇ 라는 거지요.. 그럼 시작 하겠습니다. ---------------------------------------------------------------------------------------- - 날짜 및 시간 관련 함수 날짜 시간 관련 칼럼 타입 - 날짜 관련 타입은 문자 칼럼 타입 (char, varchar 등), 숫자 칼럼 타입 (int, smallint 등) - 과 함깨 가장 많이 사용되는 칼럼이다. - DATE - 날짜 타입이다. '1000 - 01 - 01' 에서 '9999 - 12 - 31' 까지 나타낼 수 있다. - 기본적으로 지원 하는 형태는 'YYYY - MM - DD' 이다. - DATETIME - 날짜와 시간이 합쳐진 형태이다. '1000 - 01 - 01 00:00:00' 에서 '9999 - 12 - 31 23:59:59' - 까지 나타낼 수 있다. - 기본적으로 지원하는 형태는 'YYYY - MM - DD HH:MM:SS...

[SQL] CREATE SEQUENCE

create sequence seqnum -- seqnum = 시퀀스명 start with 1 -- 초기값 = 1 increment by 1 -- 증가값 = 1 maxvalue 20 cycle -- 최대값 : 20 INSERT시 시퀀스 사용 예 insert into mialib.test10(num,name) values(NEXTVAL FOR seqnum,'dd') SELECT시 시퀀스 사용 예 select nextval for seqnum, a.* from mialib.test10 a 시퀀스 수정 alter sequence seqnum maxvalue 20 시퀀스 삭제 drop sequence seqnum restrict

[SQL] 오라클 명령어

** oracle 8i - 먼저 로그인을 합니다. % sqlplus internal => 아마도 오라클이 있는 머신에서 로그인을 시도한 듯 싶다. 내가 사용하는 방식은 % svrmgrl ( 윈도우머신에서는 당연히 먹을거구, 왜냐면 설치시 path 가 잡힌다, 유닉스에서는 오라클유저로 로그인을 해야 쓸수 있당) % connect internal - 오라클 시작 및 종료 SQL>startup restrict; open까지 실행하고 일반사용자는 사용할 수 없음 SQL>startup force; 자동종료후 다시시작 SQL>startup nomount; SQL>alter database mount; SQL>alter database open; SQL>shutdown normal(종료)[ transactional(처리후 정지), immediate(롤백후 정지), abort(정전경우)] -- 디비에 뭐가 있나.. SQL>select * from v$database; SQL>select * from all_users; 현재 생성된 사용자 SQL>select * from v$sga; SQL>show sga 메모리 사용보기 SQL>show parameter; SQL>select * from dba_users; - 데이터베이스를 DBA만 접근해서 사용자 생성 %>sqlplus internal(sys의미) SQL>startup open restrict SQL>create user 사용자이름 2>identified by passwd; SQL>grant resource, connnect to 사용자이름 SQL>exit * 기본적으로 사용되는 유저와 비밀번호가 있다. sys, system 은 DBA 를 권한을 가지는 막강권한이고... scott는 많이 보았을 것이다. emp... 유저 비밀번호 sys change_on_i...