기본정리 - JDBC Connect

Driver Type :  MySQL JDBC Driver
Driver Name : Mysql JDBC Driver
Jar List : mysql-connector-java-5.1.13-bin.jar
Connection URL : jdbc:mysql://localhost:3306/database
 


/특정 데이터베이스에서 조건 검색을 할때
SELECT * FROM `test`.`pet` where sex ='f';

SELECT * FROM `TEST`.`PET`;
 `TEST`,`PET` 에서 모든 데이터 가져오기   (테스트데이터베이스의 PET 테이블에서)
SELECT * FROM PET;
 PET 테이블의 모든데이터 가져오기
SELECT * FROM `TEST`.`PET` WHERE NAME = 'BUFFY';

 TEST 데이터 베이스의 PET 테이블에서 NAME 항목의 BUFFY 이름만 가져오기

SELECT * FROM `TEST`.`PET` WHERE SEX = 'M';
 TEST 데이터 베이스의 PET 테이블에서 SEX 항목중 'M' 을 모두 가져오기

SELECT * FROM `TEST`.`PET` WHERE  BIRTH >= '1998-1-1';
 TEST 데이터 베이스의 PET 테이블에서 BIRTH 가 1998-1-1 보다 크거나 같은 데이터 모두 가져오기

SELECT * FROM PET WHERE SPECIES = 'DOG' AND SEX = 'M';
  PET 테이블에서 SPECIES 가 'DOG' 이며 'SEX' 가 'M' 인 데이터 모드 가져오기

AND 와 OR 를 혼용하여 사용할수 있으나 AND 가 OR 보다 우선 순위가 높다 . 이 두가지 연산자를  모두 사용할 경우에는,
어떤 조건문이 그룹으로 동작되어야 하는지를지정하기 위해 괼호를 사용하는 것이좋다 .

SELECT * FROM PET WHERE (SPECIES = 'CAT' AND SEX = 'F') OR (SPECIES = 'DOG' AND SEX = 'F');

특정 테이블에서 특정 Column  선택하기

SELECT name ,birth FROM pet;
  이름과 생일을 pet  테이블에서 가져오기 이름과 생일 을 같이 가져온다

SELECT name Form pet;
  pet 테이블에서 이름만 가져온다


SELECT name , birth from pet order by birth;
     name birth 를 from pet 테이블에서 가져오되 birth 를 기준으로 정렬하여 기져온다 Sort ascending

SELECT name , birth from pet order by birth desc;
    위에 것과 동일하지만 descending sort 를 한다
SELECT name , birth from pet order by species , name desc;

DESC 키워드는 바로 앞에 있는 컬럼 이름 (birth)에만 적용된다는 점을 주목하기 바란다;
이것은 species 컬럼의 정렬에는 관여하지 않는다

select name , birth, curdate(), (year(curdate()) - year (birth)) - (right(curdate(),5)) AS sa
, curdate() as sa1, year (curdate()) as sa2 , right(curdate(),1) as sa3
from pet;
   as  문은 여러번에 걸쳐서 사용할수 있다 .


(right (birth,5)) as mo = 생일 항목에서 우측에서 5 번까지 데이터를 mo 에 넣는다 mo 는 임의 데이터 변수

select name , birth, curdate(), year(curdate()) - year(birth) - (right(curdate(),5)) as age from pet order by name;

이것은 order by name 으로 정의 하여 이름 순으로 정렬하여 출력한다

select name , birth, death, (year(death) - year(birth)) - (right(death,5)) as age from pet  where death is not null order by name;
죽은 동물의 데이터를 추출하기 위한 방법으로 ...
 이름과 생일,죽은날짜 중에서 계산하여 death 가 not null 인걸을 먼저 추출하고 다음 계산식에 의하여 oder by name 으로 sort 한다

select name ,birth , day(birth) as da , month (birth) as mo , year(birth) as ye from pet;

pet 테이블에서 birth 항목에서 날짜를 da 에 월을 mo 에 년을 ye 에 추출한다

select name , birth from pet where month(birth) = 5;

pet 테이블의 birth 에서 월이 5 인걸을 추출한다

이름이 'w' 문자를 가지고 있는 것을 찾고자 하는 경우에는 다음의 쿼리를 사용한다

select * from pet where name Regexp 'w';

regexp = Regular expression

select owner, count(*) from pet group by owner;
이문장은 pet 테이블에서 ownert 가 얼마나 많은 수의 동물을 가지고 있는가를 추출한다

owner 별로 group 으로 추출한다

group by 는 owner 의 모든 기록을 그룹화 하기 위해 사용한다는것을 알아두기 바란다 이렇게 하지 않으면 오류가 발생한다

select owner , count (*) from pet;
errot 1140 (42000) : mixing of Group columns (min(), max(),count(),....)
with no group columns is illegal if there is no group bu clause

select species , count(*) from pet group by species;
종류별로 동물을 세어준다

DELETE FROM `test`.`event` WHERE name like '%';
event 테이블의 name column 항목의 모든 내용을 삭제한다


select pet.name , (year(date) -year(birth)) - (right(date,5)) remark from pet inner join event on pet.name = event.name where event.type = 'littler';


 어미가 새끼를 낳은 날짜는 event 테이블에서 가져오구 나이를 계산하기 위해서는 생일을 알아야 하고  이 날짜는 pet 테이블에서 가져온다

         pet 테이블의  pet.name  , 날짜를 계산해서 remark 에 넣고  inner join on 이것으로 pet.name = event.name 을 조인하고
         wehre event.type = 'littler'  조건으로 검색한다


SELECT p1.name, p1.sex, p2.name,p2.sex ,p1.species FROM pet AS p1 INNER JOIN pet AS p2 ON p1.species = p2.species
AND p1.sex = 'f' AND p2.sex = 'm';


SELECT p1.name, p1.sex, p2.name,p2.sex ,p1.species FROM pet AS p1 INNER JOIN pet AS p2 ON p1.species = p2.species
AND p1.sex = 'f' AND p2.sex = 'f';

 

 


'test','pet' 데이터 베이스 test 의 pet 테이블에서  sex 항목의 'f' 를 모두 찾을때

/데이터 베이스의 테이블에 데이터 삽입하기

insert into pet values ('Slim','Beny','Snake','m','1996-09-09',null);

/------------------------------------------------------------

insert into `pet` values ('Whistler','Gwen','Bird',null,'1998-09-09',null);

주의 : `pet`  양쪽의 싱글 ` ` (grave 키보드의 좌측 esc 밑에 기호)   따움표 '  ' (키보드의  "" 밑 기호)  과 다름
/------------------------------------------------------------
 " , ' = ( Quotation Mark , Doble Quotation Mark) ,( Single Quotation Mark , Apostrophe )


INSERT INTO `test`.`pet` values ('spp','kim','cat',null,'2010-07-07',null);

댓글

이 블로그의 인기 게시물

jquery css

Struts2의 작동 원리

JSP/Servlet 한글 깨짐 처리 ?