본문 바로가기

MySQL

LIKE 검색,NULL,GROUPBY/HAVING LIKE 검색 정확한 키워드를 모를 경우 일부만으로 검색하는 방법 와일드카드(%,_)를 사용하여 패턴매칭 %:0~n글자 _: 1글자 LIKE검색은 매칭하기 위해 DMBS에 부담이 많으므로 논리조건자와 중복해서 사용하지 않는게 좋다. select * from city where name like "K%"; select * from city where name like "%K"; select * from city where name like "%K%"; select * from city where name like "K____"; NULL NULL이란 해당 컬럼의 값이 없다는 의미를 가진다. NULL값을 가지고 있는 컬럼을 검색하려면 is NULL NULL이 아닌 값을 가지고 있는 컬럼을 검색하려면 is n.. 더보기
SELECT INTO, INSERT INTO SELECT,CASE WHEN END SELECT INTO 쿼리 결과를 새 테이블로 만든다. MySQL에서는 CREATE TABLE 테이블명 SELECT ~ FROM ~ 기존에 존재하는 않는 테이블이 새로 생성된다.(일종의 뷰와 동일한 효과) create table city_kor select * from city where CountryCode="KOR"; select * from city_kor; INSERT INTO SELECT 쿼리결과를 기존의 테이블에 추가한다(기존 테이블이 존재해야함) SELECT하는 테이블과 INSERT하는 테이블은 동일한 구조를 가져야한다. show create table city; CREATE TABLE `city_kor` ( `ID` int NOT NULL AUTO_INCREMENT, `Name` char(.. 더보기
JOIN,ALIAS,VIEW JOIN 서로 다른 테이블을 공통 컬럼을 기준으로 합치는 테이블단위연산 조인시 서로 다른 테이블에 같은 컬럼명이 존재하면 구분을 위해 테이블명.컬럼명으로 사용해서 표시 종류 (1)INNER JOIN:조인 시 NULL값을 혀용하지 않음 (2)LEFT JOIN:조인 시 JOIN의 왼쪽 테이블의 NULL값을 포함해서 표시 (3)RIGHT JOIN:조인 시 JOIN의 오른쪽테이블의 NULL값을 포함해서 표시 (4)FULL JOIN:LEFTJOIN+RIGHTJOIN(MySQL은 지원하지 않음) Select country.name, city.name from city join country on city.CountryCode = country.Code; ALIAS SQL쿼리 결과 생성시 컬럼명에 대한 별명을 사용해.. 더보기
SQL DISTINCT 및 논리연산자 DISTINCT SELECT문의 결과값에서 특정 컬럼만 출력할 경우 중복된 값들이 나오는 경우에 이를 제거해서 표시하는 기능 select CountryCode from city where CountryCode="KOR"; select distinct CountryCode from city where CountryCode="KOR"; 논리 연산자(AND,OR,NOT,IN,BETWEEN) SELECT문의 조건절에 논리 조건 적용 해서 적용할 수 있는 연산자 select * from city where CountryCode="KOR" and Population>=1000000; 국가코드가 KOR이고 인구가 1000000만명 인 도시 select * from city where CountryCode="KOR" .. 더보기
DISTINCT,AND,OR,NOT,IN,BETWEEN,ORDER BY 사용법 DISTINCT SELECT문의 결과값에서 특정 컬럼만 출력할 경우 중복된 값들이 나오는 경우에 이를 제거해서 표시하는 기능 select CountryCode from city where CountryCode="KOR"; select distinct CountryCode from city where CountryCode="KOR"; 논리 연산자(AND,OR,NOT,IN,BETWEEN) SELECT문의 조건절에 논리 조건 적용 해서 적용할 수 있는 연산자 select * from city where CountryCode="KOR" and Population>=1000000; select * from city where CountryCode="KOR" or CountryCode="JPN"; select * .. 더보기
SQL의 종류,MySQL 기본적인 Query및 사용법 SQL의 종류 DML 테이블의 데이터를 조작하는 기능 INSERT:데이터베이스 객체에 데이터 입력 DELETE:데이터베이스 객체에 데이터 삭제 UPDATE:데이터베이스 객체 안 데이터를 수정 DDL DB,테이블의 스키마를 정의,수정하는 기능 테이블 생성,컬럼추가,타입변경,각종 제약조건 지정 수정 CREATE:데이터베이스 객체를 생성 DROP:데이터베이스 객체를 삭제 ALTER:기존에 존재하는 데이터베이스 객체를 다시 정의 DCL DB나 테이블의 접근권한이나 CRUD권한을 정의하는 기능 특정 사용자에게 테이블의 조회권한 허가/금지 등 GRANT:데이터베이스 객체에 권한을 부여 REVOKE:이미 부여된 데이터베이스 객체 권한을 취소 기본적인 Query및 사용법 show databases:DB들의 리스트 표시.. 더보기
MySQL 기본적인 Query 및 사용법 기본적인 Query show databases:DB들의 리스트 표시 show databases; use DBNAME: DBNAME 사용 use world; show tables: DB의 테이블리스트를 표시 show world; desc TABLENAME: TABLENAME의 구조를 표시 desc city; select * from TABLENAME:TABLENAME의 모든 내용을 표시 select * from city SELECT 컬럼명 FROM 테이블명 WHERE 조건절 테이블에서 조건에 해당하는 컬럼 표시 select name from city where CountryCode="KOR"; INSERT INTO 테이블명(컬럼명) VALUES(값) 테이블이나 컬럼에 값 삽입 INSERT INTO city.. 더보기
SQL의 종류 DML 테이블의 데이터를 조작하는 기능 INSERT:데이터베이스 객체에 데이터 입력 DELETE:데이터베이스 객체에 데이터 삭제 UPDATE:데이터베이스 객체 안 데이터를 수정 DDL DB,테이블의 스키마를 정의,수정하는 기능 테이블 생성,컬럼추가,타입변경,각종 제약조건 지정 수정 CREATE:데이터베이스 객체를 생성 DROP:데이터베이스 객체를 삭제 ALTER:기존에 존재하는 데이터베이스 객체를 다시 정의 DCL DB나 테이블의 접근권한이나 CRUD권한을 정의하는 기능 특정 사용자에게 테이블의 조회권한 허가/금지 등 GRANT:데이터베이스 객체에 권한을 부여 REVOKE:이미 부여된 데이터베이스 객체 권한을 취소 더보기