목록프로그래밍 (408)
쌓고 쌓다
reverse 함수 사용시 #include 선언이 필요하다. 함수 원형 void reverse(const _BidIt _First, const _BidlIt _Last) "반복자 Iterator" 또는 "포인터" 를 인수로 받는다. First와 Last를 받아 범위 [First, Last) 를 뒤집는다. Last는 포함하지 않는다를 주의한다. 예제 ( vetor ) vector v; v.push_back(100); v.push_back(-100); reverse(v.begin(), v.end()); for (int i = 0; i < v.size(); i++) cout
"스토어드 프로시저"는 MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 개채이다. SQL 프로그래밍은 기본적으로 스토어드 프로시저 안에 만들어야 함. 스토어드 프로시저 구조 DELIMITER $$ CREATE PROCEDURE 스토어드_프로시저_이름() BEGIN -- 이 공간에 코딩 END $$ -- 스토어드 프로시저 종료 DELIMITER ; -- 종료 문자를 다시 세미콜론(;)으로 변경 CALL 스포어드_프로시저_이름(); -- 스토어드 프로시저 실행 -> 일반적으로 종료 문자(DELIMITER)를 $$를 많이 쓰고, 변경해도 상관없다. 다른 기호와 중복을 피하기 위해 기호 2개를 연속해서 사용한다. IF 문 IF문 형식 IF THEN SQL 문장들 END IF; 'SQL 문장들'이..
외부 조인 내부 조인은 두 테이블에 모두 데이터가 있어야 결과가 나온다. '외부 조인'은 한쪽에만 데이터가 있어도 결과가 나온다. SELECT FROM OUTER JOIN ON [WHERE 검색 조건] ; 내부 조인으로 출력하지 못한 전체 회원의 구매 기록( 구매 기록이 없는 회원의 정보도 함께 ) 출력해보겠다. SELECT M.mem_id, M.mem_name, B.prod_name, M.addr FROM member M LEFT OUTER JOIN buy B ON M.mem_id = B.mem_id ORDER BY M.mem_id; LEFT OUTER은 왼쪽에 있는 회원 테이블을 기준으로 외부 조인한다는 의미로 member M을 왼쪽 테이블로 뜻한다. ( LEFT OUTER JOIN을 줄여서 LEFT..
내부 조인 SELECT FROM INNER JOIN ON [WHERE 검색 조건] -> INNERT JOIN을 JOIN이라고만 써도 INNER JOIN으로 인식 예제 : 구매 테이블에서 GRL 아이디를 가진 사람의 이름/주소/연락처를 검색 SELECT * FROM buy INNER JOIN member ON buy.mem_id = member.mem_id WHERE buy.mem_id = 'GRL'; 만약, WHERE buy.mem_id='GRL'을 생략하면 구매 테이블의 모든 행에 대하여 buy.mem_id = member.mem_id인 조건을 만족하면 결합하여 모두 출력해버린다. SELECT * FROM buy INNER JOIN member ON buy.mem_id=member.mem_id; 내부 ..
함수 원형 iterator erase (const_iterator position); iterator erase (const_iterator fist, const_iterator last); 아래와 같이 사용한다. 예1. (postion) 예2. [fist,last) [first, last) 사용시 주의 사항 -> last가 가리키는 위치는 포함하지 않는다. 예2. 실행 결과 erase는 인덱스를 사용해 지울 수 없음을 주의한다.
명시적인 변환 : 직접 함수를 사용해서 변환 암시적인 변환 : 별도의 지시 없이 자연스럽게 변환 함수를 이용한 명시적인 변환 CAST(), CONVERT() 함수를 사용하며 두 함수는 형식만 다를 뿐 동일한 기능을 갖는다. CAST ( 값 AS 데이터_형식 [ (길이) ] ) CONVERT ( 값, 데이터_형식 [ (길이) ] ) 예제 buy 테이블의 price 평균을 구했더니 실수가 나왔다. 정수로 바꿔보자. CAST(), CONVERT() SELECT CAST( AVG(price) AS SIGNED ) '평균 가격' FROM buy; SELECT CONVERT( AVG(price), SIGNED ) '평균 가격' FROM buy; CAST, CONVERT 함수 안에는 CHAR, SIGNED, UNSI..
변수 사용 SET @변수이름 = 변수의값 ; -- 변수의 선언 및 초기화 SELECT @변수이름 ; -- 변수의 값 출력 예제 SET @myVar1 = 5 ; SET @myVar2 = 4.25 ; SELECT @myVar1; -- 출력(1) SELECT @myVar1 + @myVar2; -- 출력(2) SET @txt = '가수 이름->'; SET @height = 165; SELECT @txt, mem_name FROM member WHERE height > @height; -- 출력(3) LIMIT와 함께 변수를 사용 PREPARE와 EXECUTE를 사용해야 한다. SET @count = 3; PREPARE mySQL FROM 'SELECT mem_name, height FROM member ORDE..
정수형 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128 ~ +127 SMALLINT 2 -32,768 ~ +32,767 INT 4 약 -21억 ~ +21억 BIGINT 8 약 -900경 ~ +900경 -> tiny, small , big 정수형 테이블 예제 CREATE TABLE hongong4 ( tinyint_col TINYINT, smallint_col SMALLINT, int_col INT, bigint_col BIGINT ); 음수 범위를 제외하고 0부터 시작해 바이트 수 채우기 UNSIGNED 예약어를 이용해 0부터 시작하는 범위를 만들어 내 음수 범위를 없애고 양수 범위를 늘릴 수 있다. INT를 예로 -128 ~ 127 -> 0 ~ 255 로 확장하는 것이다. CREATE TA..