보통 toad 나 sqlgate처럼 쿼리를 한꺼번에 처리하는 SQL 툴들이 존재한다.
하지만 웹에서 구현하고자 한다면 아마도 각 쿼리를 구분하는 로직이 필요하다.
그런데 초기에 GKSql(영상보기) 을 작업할때
초반에 MySQL을 가지고 진행을 했었는데 MySQL jdbc는 옵션 하나로 다중 쿼리실행이 가능하다
옵션은 allowMultiQueries=true 커넥션 옵션에 추가를 해주면 가능하다
기본적인 JDBC 옵션은
jdbc:mysql://localhost:3306/test
이라면 뒤에 추가로
jdbc:mysql://localhost:3306/test?allowMultiQueries=true
위처럼 설정만 잡아주면 다중 쿼리를 한번의 실행으로 처리가 가능하다
but, mssql, oracle에는 이런 옵션이 없다 ㅠㅠ
옥희에 어느 질문자께서 물어보셨길래 생각나서 포스팅해봄 ㅎㅎ
1. 지속적인 구독을 원하신다면 네이버 이웃추가 부탁드립니다
2. 도움이 되셨다면 공감한번 꾹! 눌러주세요
3. 궁금하신점이 있으시다면 댓글 GOGO
MySQL - DB 및 테이블 목록 조회 (2) | 2014.09.03 |
---|---|
MySQL - if ~ else 조건문 사용하기 : if (0) | 2014.08.24 |
MySQL - 널체크(IFNULL 사용하기) (0) | 2014.08.23 |
MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자 (0) | 2014.08.15 |
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...) (0) | 2014.08.12 |
이번 포스팅은 MySQL의 DB목록과 테이블 목록을 조회하는 쿼리를 간단하게 포스팅 하고자 한다.
1) DB 조회
쿼리
SHOW DATABASES;
실행결과
2) 테이블조회
쿼리
SHOW TABLES;
실행결과
1. 지속적인 구독을 원하신다면 네이버 이웃추가 부탁드립니다
2. 도움이 되셨다면 공감한번 꾹! 눌러주세요
3. 궁금하신점이 있으시다면 댓글 GOGO
MySQL JDBC - 다중쿼리(multiple query) 한번에 처리하기옵션 (0) | 2014.09.03 |
---|---|
MySQL - if ~ else 조건문 사용하기 : if (0) | 2014.08.24 |
MySQL - 널체크(IFNULL 사용하기) (0) | 2014.08.23 |
MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자 (0) | 2014.08.15 |
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...) (0) | 2014.08.12 |
2014/08/24 - [DB/Oracle] - Oracle - if ~ else 조건문 사용하기 : DECODE
이번 포스팅은 MySQL 단일 조건문에 대하여 설명하고자 한다.
MySQL에서 제공하는 if 함수를 이용하여 조건에 따른 데이터를 변경해보도록 하겠음
테이블 구조는 전에 포스팅한 mysql - null_table 구조를 기준으로 설명하도록 하겠음
2014/08/23 - [DB/MySQL] - MySQL - 널체크(IFNULL 사용하기)
IF 함수 적용
사용법 : IF(조건절,'참일경우 치환데이터','거짓일경우 치환 데이터')
select IF(null_text is null,'널입니다','널이아닙니다') null_str from null_table
요약
null_text 컬럼의 값이 널일경우 '널입니다' 문자열로 표시
널이아닐경우 '널이아닙니다' 문자열로 표시
널체크는 IFNULL과 위와같은 IF문을 이용하여 체크가 가능하지만
NULL이 아닐경우의 데이터의 경우는 IF 함수를 사용이 가능하다
※ 단일 조건문과 같은 경우는 IF문을 사용해도 무관하나
다중 조건일 경우는 CASE문을 사용하면 되겠다
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
MySQL JDBC - 다중쿼리(multiple query) 한번에 처리하기옵션 (0) | 2014.09.03 |
---|---|
MySQL - DB 및 테이블 목록 조회 (2) | 2014.09.03 |
MySQL - 널체크(IFNULL 사용하기) (0) | 2014.08.23 |
MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자 (0) | 2014.08.15 |
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...) (0) | 2014.08.12 |
2014/08/23 - [DB/Oracle] - 오라클 - 널체크(NVL 사용하기)
2014/08/23 - [DB/MSSQL] - MS-SQL - 널체크(ISNULL 사용하기)
우리는 간혹가다 데이터 null일경우의 데이터를 치환해야하는 일이 생긴다
이럴경우 MySQL에서는 IFNULL이라는 함수를 이용하여 NULL값을 원하고자 하는 데이터로 치환
이 가능하다
1. 임의의 테이블 생성
CREATE TABLE `null_table` ( `idx` bigint(20) NOT NULL AUTO_INCREMENT, `null_text` varchar(20) DEFAULT NULL, PRIMARY KEY (`idx`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
2. 데이터 추가
insert into null_table(null_text) values('1'); insert into null_table(null_text) values(null); insert into null_table(null_text) values('2'); insert into null_table(null_text) values(null); insert into null_table(null_text) values('3');
3. null_table 테이블 조회
SELECT * FROM null_table
4. IFNULL 함수적용
사용법 : IFNULL(컬럼명,'컬럼이 널일경우 대체할 데이터')
select *, IFNULL(null_text,'널입니다') null_check from null_table
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
MySQL - DB 및 테이블 목록 조회 (2) | 2014.09.03 |
---|---|
MySQL - if ~ else 조건문 사용하기 : if (0) | 2014.08.24 |
MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자 (0) | 2014.08.15 |
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...) (0) | 2014.08.12 |
MySQL 인코딩 UTF-8 설정하기 [한글깨짐문제 해결] (7) | 2014.08.12 |
2014/08/15 - [DB/MSSQL] - MS-SQL 2005 이상 row_number() over(order by 정렬조건) 을 이용하여 페이징쿼리를 동작시켜보자
2014/08/15 - [DB/Oracle] - ORACLE 오라클 rownum을 이용하여 페이징 처리하기
mysql의 경우는 limit를이용하여 페이징을 처리 한다.
샘플 데이터를 기준으로 설명하도록 하겠음.
1. create table 생성
CREATE TABLE `page_table` ( `idx` bigint(20) DEFAULT NULL, `title` varchar(100) DEFAULT NULL, `content` varchar(200) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8
2. 가상의 데이터 IMPORT
가상의 데이터를 100개를 생성하여 page_table에 IMPORT 하였다.
그렇다면 이제 페이징 테스트를 해보도록 하겠음.
각 페이지마다 데이터 20개씩 출력해보도록 하겠다.
쿼리는 다음과 같다.
-- 1페이지 SELECT * FROM page_table LIMIT 0, 20; -- 2페이지 SELECT * FROM page_table LIMIT 20, 20; -- 3페이지 SELECT * FROM page_table LIMIT 40, 20; -- 4페이지 SELECT * FROM page_table LIMIT 60, 20; -- 5페이지 SELECT * FROM page_table LIMIT 80, 20; -- 6페이지 SELECT * FROM page_table LIMIT 100, 20;
3, 실 행 하 기
1페이지
2페이지
3페이지
4페이지
5페이지
6페이지
LIMIT 사용법
SELECT [col1,col2...col n] FROM table명 WHERE[AND] 조건절.... LIMIT 인덱스 값(0부터 시작) , 한번에 출력할 수
※ 상단 SELECT쿼리를 실행한 화면을 보면 마지막 6페이지는 나오지 않을것이다.
이유 - 전체 데이터의 마지막 인덱스 값이 99인대 100부터 20개를 출력하겠다라고 하였으니
나오지 않는것
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
MySQL - if ~ else 조건문 사용하기 : if (0) | 2014.08.24 |
---|---|
MySQL - 널체크(IFNULL 사용하기) (0) | 2014.08.23 |
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...) (0) | 2014.08.12 |
MySQL 인코딩 UTF-8 설정하기 [한글깨짐문제 해결] (7) | 2014.08.12 |
MySQL 시퀀스 auto_increment 생성 및 초기화하기 (0) | 2014.08.11 |