MYSQL META 조회

개발/DATABASE 2016. 2. 16. 10:45

/* MYSQL 의 METADATA는 INFORMATION_SCHEMA */


/* 접속한 유저 정보 */
SELECT USER();

 

/* 현재 어플리케이션이 사용하는 데이터베이스 정보 */
SELECT DATABASE();

 

/* 접속한 DB의 MYSQL 버젼 */
SELECT @@VERSION;

 

/* 유저의 권한 조회 */
SELECT GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE
  FROM INFORMATION_SCHEMA.USER_PRIVILEGES


/* DB에 있는 스키마 목록 */
SELECT SCHEMA_NAME
  FROM INFORMATION_SCHEMA.SCHEMATA;

 

/* 해당 스키마의 테이블 목록 */
SELECT TABLE_SCHEMA
     , TABLE_NAME
  FROM INFORMATION_SCHEMA.TABLES
 WHERE TABLE_SCHEMA = '[스키마명]';

 

/* 모든 테이블의 컬럼 목록 */
SELECT TABLE_SCHEMA
     , TABLE_NAME
     , COLUMN_NAME
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA != 'MYSQL'
   AND TABLE_SCHEMA != 'INFORMATION_SCHEMA'
   AND TABLE_SCHEMA != 'PERFORMANCE_SCHEMA'
   AND TABLE_SCHEMA != 'SYS';
  
/* 선택한 테이블의 정보 */
SELECT *
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA = '[스키마명]'
   AND TABLE_NAME   = '[테이블명]'

 

Posted by ladon
,
SELECT
SYSDATE,
TRUNC(SYSDATE -TO_DATE('19700101', 'YYYYMMDD'))*60*60*24 + TO_CHAR(SYSDATE, 'SSSSS') UNIXTIME,
TO_DATE('19700101000000', 'YYYY-MM-DD HH24:MI:SS')+(TRUNC(SYSDATE -TO_DATE('19700101', 'YYYYMMDD'))*60*60*24 + TO_CHAR(SYSDATE, 'SSSSS'))/86400
FROM DUAL

'개발 > DATABASE' 카테고리의 다른 글

MYSQL META 조회  (0) 2016.02.16
ORACLE || 결과더하기  (0) 2009.09.04
ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
Posted by ladon
,

|| -> + 와 같은 의미이다 (특수문자 : 파이프)
 
ex)

select '[' || A || ']' || B

[A]B 이런식으로 필드에값이 들어간다.

중요한 키 값들을 하나의 필드로 중복이 있을경우
유니크하게 하기 위해서 한다거나

결과를 java단에서 +쓸 필요 없이 아예 원하는 포멧형식으로 보기 위해서
값을 변형할때 쓰인다

'개발 > DATABASE' 카테고리의 다른 글

MYSQL META 조회  (0) 2016.02.16
오라클 현재시간, 유닉스시간, 유닉스시간을 현재시간으로 변환  (0) 2011.08.10
ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
Posted by ladon
,

ORACLE DECODE

개발/DATABASE 2009. 9. 4. 13:33

디코드 사용 예 (IF문이라고 생각하면 됨)

// 사용 설명

1. decode(컬럼명, 조건 값, 조건값이 True면, 조건값이 false면) - 단순 if문
컬럼의 값의 조건이 맞으면 true의 값으로 하고 다르면 false값으로 하라 는 뜻

2. decode(컬럼명, 조건1, 1의 결과값, 조건2, 2의 결과값, ..........) - if, else if 문
컬럼의 값이 조건1이면 1의 결과값으로 조건2면 2의 결과값으로 이런식으로 계속해서 늘려 갈수 있다

// 예

SELECT DECODE (SUBSTR(주민등록번호, 6,1), '1', '남', '2', '여') AS '성별' FROM TABLE
7번째 자리 숫자가 1이면 남 2이면 여

SELECT DECODE (SUBSTR(주민등록번호, 6,1), '1', '남', '여') AS '성별' FROM TABLE
7번째 자리 숫자가 1이면 남 아니면 여

SELECT DECODE (SUBSTR(주민등록번호, 6,1), '1', 1, 0) AS '남자인원수' FROM TABLE
7번째 자리 숫자가 1이면 1을 더하고 아니면 0을 더한다(남자일 경우만 카운트 된다)

Posted by ladon
,
MSSQL 자동 암호화 테스트

CREATE TABLE MEMBER(
USERID VARCHAR(10),
USERPASSWORD VARBINARY(100)
)

// 암호화 테스트할 테이블을 만든다.
// PASSWORD 는 VARBINARY 로 만든다

INSERT INTO MEMBER(USERID, USERPASSWORD) VALUES('aa', PWDENCRYPT('1111'))
// 테이블에 값을 넣는다.

SELECT PWDCOMPARE('1111', USERPASSWORD) FROM MEMBER WHERE USERID = 'aa'
// 결과는 1, 값이 같으면 1을 리턴, 다르면 0을 리턴한다.

PWDENCRYPT('aaaa');    // 패스워드를 암호화 해서 집어 넣는다
PWDCOMPARE('aaaa', USERPASSWORD) // 패스워드가 들어간것과 맞는지 비교한다

// 특이사항 : 암호 체크할때 대소문자를 구분하지 않는다

'개발 > DATABASE' 카테고리의 다른 글

ORACLE || 결과더하기  (0) 2009.09.04
ORACLE DECODE  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
ORACLE ORA-14400  (0) 2009.09.03
ORACLE ORA-01006  (0) 2009.09.03
Posted by ladon
,

create sequence no;

no는 컬럼명

시퀀스를 사용하려면 먼저 만들어 줘야 된다.
시퀀스를 만들고 커밋(Commit) 한다음 데이터 입력 할때

insert 할때 no.nextval 을 사용하면 번호가 자동으로 들어간다.

'개발 > DATABASE' 카테고리의 다른 글

ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE ORA-14400  (0) 2009.09.03
ORACLE ORA-01006  (0) 2009.09.03
MSSQL CONVERT (날짜 형식 변경하기)  (0) 2009.08.24
Posted by ladon
,

ORACLE ORA-14400

개발/DATABASE 2009. 9. 3. 13:38
ORA-14400: 삽입된 분할영역 키는 최고의 분할영역 키를 넘어섰습니다

table 생성시 파티션을 나누어 놓았는데 그 파티션의 범위를 넘어서는 데이타를 insert하여 나는 에러


'개발 > DATABASE' 카테고리의 다른 글

ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
ORACLE ORA-01006  (0) 2009.09.03
MSSQL CONVERT (날짜 형식 변경하기)  (0) 2009.08.24
Posted by ladon
,

ORACLE ORA-01006

개발/DATABASE 2009. 9. 3. 13:38
ORA-01006: 바인드 변수가 없습니다

preparedStatement 사용시 쿼리에는 ? 갯수와 내가 집어넣으려는 pDb.setString() 의 갯수가 안맞거나
값이 없을때 나는 에러

'개발 > DATABASE' 카테고리의 다른 글

ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
ORACLE ORA-14400  (0) 2009.09.03
MSSQL CONVERT (날짜 형식 변경하기)  (0) 2009.08.24
Posted by ladon
,

사용 형식 : CONVERT(VARCHAR(10), FIELD, 101)
- GETDATE() 를 FIELD 에 넣어도 됨
- 101에는 아래 번호를 골라서 쓰면 됨

1 : MM/DD/YY
2 : YY.MM.DD
3 : DD/MM/YY
4 : DD.MM.YY
5 : DD-MM-YY 
6 : DD MON YY
7 : MON DD, YY
8 : hh:mm:ss
10 : MM-DD-YY
11 : YY/MM/DD
12 : YYMMDD
13 : DD MON YYYY HH:MM:SS:MMM
20 : YYYY-MM-DD HH:MI:SS
21 : YYYY-MM-DD HH:MI:SS:MMM
101 : MM/DD/YYYY
102 : YYYY.MM.DD
103 : DD/MM/YYYY
104 : DD.MM.YYYY
105 : DD-MM-YYYY
106 : DD MM YYYY
107 : MON DD, YYYY
110 : MM-DD-YYYY
111 : YYYY/MM/DD
112 : YYYYMMDD
120 : YYYY-MM-DD


'개발 > DATABASE' 카테고리의 다른 글

ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
ORACLE ORA-14400  (0) 2009.09.03
ORACLE ORA-01006  (0) 2009.09.03
Posted by ladon
,