SQL
SQL SELECT / DML
요구하는 데이터를 가져오는 구문 일반적으로 가장 많이 사용된다. 데이터베이스 내 테이블에서 원하는 정보를 추출 SELECT 속성 [FROM 테이블이름] [WHERE where_condition] [GROUP BY {col_nam | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position}] SELECT * SELECT * FROM 테이블이름 테이블이름에 해당하는 테이블의 모든 데이터를 가져와라 SELECT 속성,속성 - 속성(컬럼)에 제약을 둠 SELECT 속성,속성 FROM 테이블이름 테이블이름에 해당하는 테이블에서 속성,속성에 해당하는 데이터를 가져와라 (속성 = 컬럼) WHERE - 특정한 조건으로 원하는 데이..
MySQL 내장함수
대표적인 내장 함수의 종류 문자열 함수 수학 함수 날짜와 시간 함수 문자열 함수 LENGTH() 전달받은 문자열의 길이를 반환 CONCAT() 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환 (컴마로 구분해준다) 전달받은 문자열 중 하나라도 NULL이 존재하면 NULL로 반환 CONCAT('문자열','문자열'); LOCATE() 문자열 내에서 찾는 문자열이 처음으로 나타나는 위치를 찾아서 해당 위치를 반환 찾는 문자열이 문자열에 존재하지 않으면 0을반환 MySQL에서는 문자열의 시작인덱스를 1부터 계산 LOCATE('찾을문자열' , '대상문자열') LEFT() , RIGHT() LEFT() : 문자열의 왼쪽부터 지정한 개수만큼의 문자를 반환 RIGHT() : 문자열의 오른쪽부터 지정한 개수만큼의 문..
(5)DML 데이터 조작어 - SELECT NOT IN
DML 데이터 조작어 테이블내의 데이터를 조작하는 언어 필드에 관여한다고 보면 된다. 데이터 검색 - SELECT 데이터 삽입 - INSERT 데이터 수정 - UPDATE 데이터 삭제 - DELETE INSERT INSERT INTO 테이블이름[(속성리스트)] VALUES (속성값리스트) 속성 리스트를 생략하면 테이블을 정의할 때 지정한 속성 순서대로 값이 삽입됨 INTO의 속성이름과 VALUES의 속성값은 순서대로 일대일로 대응되어야함 INSERT INTO 테이블이름[(속성리스트)] SELECT문; SELECT문의 결과값을 데이터 값으로 삽입 UPDATE UPDATE 테이블이름 SET 속성이름1 = 값1 , 속성이름2 = 값2 [WHERE 조건]; SET 키워드 다음에 속성 - 값을 어떻게 수정할 것인..
(4)DDL 데이터 정의어 / 테이블 생성,수정,삭제
CREATE TABLE : 테이블 생성 ALTER TABLE : 테이블 수정 DROP TABLE : 테이블 삭제 CREATE TABLE 기본문법 CREATE TABLE 테이블이름 ( 속성이름 테이터타입 [NOT NULL] [DEFAULT 기본값] [PRIMARY KEY (속성리스트)] [UNIQUE (속성리스트)] [FOREIGN KEY (속성리스트) REFERENCES 테이블이름(속성리스트)][ON DELETE 옵션] [ON UPDATE 옵션] [CONSTRAINT 이름] [CHECK(조건)] ); [ ]의 내용은 생략가능 세미콜론(;)으로 문장의 끝을 표시 대소문자는 구분하지 않지만 SQL언어는 대문자를 사용하도록 습관을 드린다 CREATE TABLE문은 기본 제약사항, 기본키, 대체키, 외래기, 데..
MYSQL 시작하기
MYSQL 시작하기 MYSQL이란 무엇인가? 먼저 데이터베이스를 다루기위해선 미들웨어 즉 데이터베이스와 클라이언트 사이에서 둘사이에서 교류할 수 있게해주는 역할을 하는것이 필요하다. 이것이 MYSQL이며 나아가 데이터베이스를 관리하기 위한 도구로 여러가지가 있지만. mysql설치와 동시에 이루어지는것이 리눅스환경에서 사용되는 mysql monitor다. 그리고또 많이 사용하는것은 mysql wrokbench 라는 GUI방식에서 사용되는 도구인데 이것 역시 SQL을 사용한다. mysql이 설치가 된 상태에서 시작하는법을 적어볼려고한다.기본문법부터 알아보자. 문자의 마지막에 세미클론으로 마무리해준다 (세미클론 없이 할경우 실행이 아닌 줄바꿈이된다) 대소문자는 구분하지않는다.하지만, 명령어는 대문자로 사용하는..
MYSQL?? SQL??
(1)SQL과 MYSQL의 차이 SQL (Structured Query Language): 번역:구조화된 질의 언어 (데이터베이스에게 질의하기 위한 언어) 관계형 데이터베이스에서 데이터를 정의하고 조작하기 위한 표준화된 언어 MY SQL 이란? SQL언어로 사용하는 관계형 데이터베이스 프로그램이다. 2022년 현재 기준 Oracle이 사용률 1위이지만 가장 큰 차이점은 무료와 유료이다. 오라클의 경우 사용료 단위가 천만원, 억 정도되는 큰 단위기에 큰기업,정부에서 사용하는것으로 그외의 스타트업 혹은 개인들은 대부분 MY SQL을 사용한다. (2)데이터베이스 그리고 관계형 데이터 베이스란? 데이터베이스(DB)란? 데이터 저장소 이자 데이터 집합을 의미한다 중복된 데이터를 없애고, 자료를 구조화하여, 효율적..