HeidiSQL 정리

참고사이트 1.SELECT - 선택해서 보기 위함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //중복제거 SELECT DISTINCT //조건 추가 WHERE 컬럼조건 //특정 패턴의 컬럼 LIKE //이산적 값 만족 IN //별칭(출력되는 컬럼명으로는 알아 보기 힘들 때 사용) SELECT 컬럼 AS 별칭 //출력행 개수 조절, 리눅스 head와 비슷 LIMIT 숫자 //두개 이상의 SELECT문 연결, 기본적으로 DISTINCT 출력임 SELECT 컬럼 FROM 테이블 UNION SELECT 컬럼 FROM 테이블 -- 조건을 추가할 경우 처음오는 SELECT의 컬럼명을 사용해야 한다 SELECT 컬럼1 FROM 테이블 UNION SELECT 컬럼2 FROM 테이블 WHERE 컬럼1 //중복있는 UNION 셀렉문 UNION ALL 셀렉문 //컬럼 정렬 셀렉문 WHERE 컬럼 ORDER BY ASC|DESC 2.INSERT - 행을 추가하기 위함 1 2 3 INSERT INTO 테이블 VALUES(값, 값, 값) //특정 컬럼에만 값 넣기 INSERT INTO (컬럼2) 테이블 VALUES(값) 3.DELECT - 행삭제, 조건절 중요 1 2 DELECT FROM 테이블 WHERE 식 DELECT FROM 테이블 // 모든 행이 다 지워져버림 4.UPDATE - 테이블 내 레코드 값 변경, 조건절 중요 1 2 UPDATE 테이블 SET 컬럼1=값, 컬럼2=값, 컬럼3=값 WHERE 식 UPDATE 테이블 SET 컬럼1=값, 컬럼2=값, 컬럼3=값 // 모든 레코그값이 다 변경 됨 5.CREATE - DB나 테이블 생성 1 2 3 4 5 6 7 CREATE DATABASE DB명 CREATE TABLE 테이블명 ( 컬럼1 자료형. 컬럼2 자료형, 컬럼3 자료형 ) 6.DROP - DB나 테이블 삭제, drop the bit, 비트주세요 1 2 DROP DATABASE DB명 DROP TABLE 테이블명 7.TRUNCATE - 테이블 유지하면서 레코드만 삭제 1 TRUNCATE TABLE 테이블명 8.ALTER - 컬럼 추가, 삭제, 수정 9.JOIN - 두개 이상의 테이블로부터 질의하기 위해 1 2 3 4 5 6 INNER JOIN - 두 테이블에서 값이 일치하는 행들 반환 SELECT 컬럼 FROM 테이블1 INNER JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼 LEFT JOIN - 일치여부에 상관없이 왼쪽 테이블의 값들은 반환됨 SELECT 컬럼 FROM 테이블1 LEFT JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼 RIGHT JOIN - 일치여부에 상관없이 오른쪽 테이블의 값들은 반환됨 SELECT 컬럼 FROM 테이블1 RIGHT JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼 10.CONSTRAINTS - 테이블에 삽입될 자료형 제한 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 - NOT NULL CREATE TABLE 테이블명 ( 컬럼1 자료형 NOT NULL, 컬럼2 자료형, 컬럼3 자료형 ) - UNIQUE CREATE TABLE 테이블명 ( 컬럼1 자료형 UNIQUE, 컬럼2 자료형, 컬럼3 자료형 #UNIQUE(컬럼1) ) - PRIMARY KEY CREATE TABLE 테이블명 ( 컬럼1 자료형 PRIMARY KEY, 컬럼2 자료형, 컬럼3 자료형 #PRIMARY KEY(컬럼1) ) - FOREIGN KEY CREATE TABLE 테이블명 ( 컬럼1 자료형 FOREIGN KEY, 컬럼2 자료형, 컬럼3 자료형 #FOREIGN KEY(컬럼1) ) - CHECK CREATE TABLE 테이블명 ( 컬럼1 자료형 CEHCK(식), 컬럼2 자료형, 컬럼3 자료형 #CEHCK(식) ) - DEFAULT CREATE TABLE 테이블명 ( 컬럼1 자료형 DEFAULT 값, 컬럼2 자료형, 컬럼3 자료형 #UNIQUE(컬럼1) ) 11.주석 1 2 3 # 한줄 주석 -- 한줄 주석 /* 범위 주석 */ 12.AUTO_INCREMENT - 테이블 생성시 ID 자동증가용으로 쓰임 1 2 3 4 5 6 7 create table student2( id int not null auto_increment, name varchar(255), grade int, house varchar(255), primary key(id) ); 13.NULL 0과 NULL은 다름 1 2 3 #조회 WHERE 컬럼 IS NULL WHERE 컬럼 IS NOT NULL 14.VIEW - 가상 테이블 만들기 원하는 값들을 골라 가상 테이블을 만들 수 있다. 일반 테이블처럼 사용가능 1 2 3 #생성 CREATE VIEW 뷰명 AS SELECT 컬럼 FROM 테이블 WHERE 조건 #삭제 DROP VIEW 뷰명 15.INDEX - 데이터를 빠르게 찾기 위함 16.GROUP BY - 그룹별로 나뉘어 통계를 보기 위해 1 SELECT JOB_ID,AVG(SALARY),MIN(SALARY),MAX(SALARY),COUNT(SALARY) FROM HR_EMPLOYEES GROUP BY JOB_ID 17.HAVING - 그룹에 조건을 걸기위해(SELECT의 WHERE와 같다) 1 SELECT JOB_ID,AVG(SALARY),MIN(SALARY),MAX(SALARY),COUNT(SALARY) FROM HR_EMPLOYEES GROUP BY JOB_ID HAVING JOB_ID='AC_ACCOUNT'

12월 23, 2017 · Jaejin Jang

int 배열 오름차순 정렬을 이용해 내림차순 쉽게 구하기

타입에러 때문에 제공하는 정렬함수를 쓸 수 없을때 그리고 형변환 하기 귀찮을 때 comparator, comparable의 재정의 없이 간단하게 정렬할 수 있는 방법입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 //예; sort라는 오름차순정렬 함수가 정의된 경우 int[] B = ~~~~~~ //오름차순 정렬 sort(B); //내림차순 정렬 for(int i=0;i<B.length;i++) B[i] = -B[i] sort(B); for(int i=0;i<B.length;i++) B[i] = -B[i]

12월 23, 2017 · Jaejin Jang

java.lang.Integer parseInt 메소드 분석

스트링을 숫자로 변화해주는 parseInt 메소드는 parseInt(String) parseInt(String, int) 2가지가 존재합니다. 하지만 parseInt(String)의 경우 내부를 보면 parseInt(String,10)으로 구현되어 있기 때문에 parseInt(String, int)만 분석하면 됩니다. 변환할 문자열이 null이면 NumberFormatException이 납니다. int형의 인자로 진법을 설정할 수가 있습니다. 최소 2진법에서 최대 36진법까지 변환할 수 있습니다. 범위를 넘어가게 되면 NumberFormatException 이 납니다. ...

12월 23, 2017 · Jaejin Jang

SELECT

1.부서번호가 30인 직원의 모든 정보 출력 1 SELECT * FROM HR_EMPLOYEES WHERE DEPARTMENT_ID=30 2.성이 KING인 직원의 모든 정보 출력 1 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME='KING' 3.입사일이 00년 2월 7일 이후 입사한 직원들 정보를 출력하라. 1 SELECT * FROM HR_EMPLOYEES WHERE HIRE_DATE>='2000-02-07' 4.이름이 J로 시작하는 직원들 정보 출력 1 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME LIKE 'J%' 5.이름이 J보다 큰(알파벳상 뒤에 위치) 직원들 정보 출력 1 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME>'J' 6.이름이 B와 Q사이로 시작하는 직원들의 정보를 출력하라. 1 2 -- SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME>'B' AND LAST_NAME<'Q' SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME BETWEEN 'B' AND 'Q' 7.이름의 2번째 문자가 B인 직원 출력 1 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME LIKE '_B%' 8.커미션이 널이 아닌 직원의 이름,성,커티션 출력 1 SELECT LAST_NAME, FIRST_NAME, COMMISSION_PCT FROM HR_EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL 9.부서번호가 90번이고 월급이 5000이상인 직원들의 이름, 부서번호, 월급 출력 1 SELECT LAST_NAME, FIRST_NAME, DEPARTMENT_ID,SALARY FROM HR_EMPLOYEES WHERE SALARY>=5000 AND DEPARTMENT_ID=90 10.부서번호가 80번이고 월급이 6000이상인 직원들의 이름, 부서번호, 월급을 이름 내림차순으로 1 SELECT LAST_NAME, FIRST_NAME, DEPARTMENT_ID,SALARY FROM HR_EMPLOYEES WHERE SALARY>=6000 AND DEPARTMENT_ID=80 ORDER BY LAST_NAME DESC 11. 입사 년도가 99년 1월이 아닌 직원 출력 1 SELECT * FROM HR_EMPLOYEES WHERE HIRE_DATE NOT LIKE '1999-01%' 12.이름이 J로 시작하고 N로 끝나는 직원 출력 1 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME LIKE 'J%N' 13.이름이 5글자 이면서 J로 시작하고 N로 끝나는 직원 출력 1 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME LIKE 'J___N' 14. emp에서 이름, 급여, 커미션 금액, 총액(급여+커미션금액)을 구하여 총액이 많은 순서대로 출력하라. 1 select first_name, salary, salary*commission_pct, (salary + salary*commission_pct) total from hr_employees where commission_pct is not null 15. 80번 부서의 모든사람들에게 급여의 13%를 보너스로 지불하기로 했다. 이름, 급여, 보너스 금액, 부서번호를 출력하라 1 select first_name, salary, salary*0.13, department_id from hr_employees where department_id=80 16. 80번 부서의 연봉을 계산하여 이름, 부서번호, 급여, 연봉을 출력하라. 단 연말에 급여의 150%를 보너스를 지급한다. 1 select first_name, department_id, salary, salary*12+salary*1.5 total from hr_employees where department_id=80 17. 부서번호가 80인 부서의 시간당 임금을 계산하여 이름, 급여, 시간당 임금(소수점이하 1자리에서 반올림)을 출력하라. 1달의 근무일수는 12일이고, 1일당 근무시간은 5시간이다. 1 select first_name, salary, round(salary/(12*5),1) sph from hr_employees where department_id=80 18.급여가 1500부터 3000 사이의 사람은 급여의 15%를 회비로 지불하기로 했다. 이름, 급여, 회비(2째자리반올림) 출력하라. 1 select first_name, salary, round(salary*0.15) h from hr_employees where salary between 1500 and 3000 19.급여가 2000 이상인 모든 사람은 급여가 15%를 경조비로 내기로 했다. 이름, 급여 ,경조비를 출력하라 1 select first_name, salary, round(salary*0.15) g from hr_employees where salary>=2000 20.입사일부터 지금까지의 날짜수를 구하라. 부서번호, 이름, 입사일, 현재일, 근무일수, 근무년수, 근무월수(30일 기준), 근무주수를 구하라.

12월 23, 2017 · Jaejin Jang

가난한 자의 허세 - 토마스 커루(Thomas Carew)

가난한 자의 허세 가난하고 궁핍한 가엾은 이여, 어찌주제넘게도 하늘의 한자리를 요구하는가. 초라한 오두막이나 통 속에 살고 거저 내리쬐는 햇볕 속이나 그늘진 샘터에 앉아 풀뿌리와 나물로 연명하여 게으르고 학자인 체하는 미덕을 기른다고 해서, 그래서 그러는 겐가. ...

12월 23, 2017 · Jaejin Jang

네트워크 정리

중요하거나 모르는 내용 위주로 정리합니다. 1장. 개요 네트워킹 기술을 경로로 구분하면, 서킷 스위칭과 패킷 스위칭을 나뉜다. 서킷 스위칭으로 경로를 모두 정하여 전용회선으로 사용하는 것이다. 전화가 해당된다. 패킷 스위칭은 우편 배달과 비슷하다. 데이터그램 방식과 가상회선 파빙식이 있는데, 가상회서 방식은 패킷 스위칭기반으로 서킷 스위칭처럼 움직이는 것이다. ...

12월 23, 2017 · Jaejin Jang

데이터베이스 정리

가장 배경지식이 부족한 데이터베이스.. 그래도 비중이 적고 문제가 쉽다고 하니 다행이다. 새로 알게 된 것이나 모르는 내용 위주로 정리를 한다. 인용부호 ' ' 에서만 대소문자를 구분한다. 문자열의 패턴을 검색할때는 like를 쓴다. string like pattern 과 같다. 패턴에서 % 는 임의의 문자열을 뜻하고(문자열이 없을 수 있음), _ 는 임의의 한 문자를 뜻한다. ...

12월 23, 2017 · Jaejin Jang

마리아 DB 사용법 모아놓은 블로그

http://blog.naver.com/PostView.nhn?blogId=hmkuak&logNo=220583392375 마리아 DB 사용법을 모아놓은 블로그를 블로그한 블로그의 사이트..

12월 23, 2017 · Jaejin Jang

만약에(If) - 러디어드 키플링(Rudyard Kipling)

만약에(If) -러디어드 키플링 만약 모두가 이성을 읽고 너를 탓할 때 냉정을 유지할 수 있다면 만약 모두가 너를 의심할 때 네 자신을 믿고 그들의 의심마저 이해해줄 수 있다면 ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 1003번, 피보나치 함수

(n)을 했을때 fib(0),와 fib(1)이 몇번 콜되는지 구하는 문제입니다. 전략 : 전역 변수 2개를 할당해, fib(0)을 부를때 증가시키고, fib(1)을 부를때 증가시키는 것으로 해서 풀었습니다. ...

12월 23, 2017 · Jaejin Jang