[MySQL] SELECT , DESC 명령
본 포스팅연재에 앞서서 필자는 기본적으로 알고있는 내용은 생략하고 새롭게알게되는 내용 및 중요하다고 생각하다는 내용 위주로 정리하도록 하겠습니다. (예를들어: *는 모두선택을 나타냄, SELECT는 예약어이므로 SELECT라는 이름을 가진 DB는 생성할 수 없다 등 기본적인 내용들을 생략될 수 있습니다.)
DML(Data Manipulation Language)은 DB에 새롭게 자료를 추가하거나 삭제 갱신 등 데이터 조작시 사용한다.
그 중 하나가 SELECT 명령어로 데이터베이스의 데이터를 읽어올 수 있다. SELECT는 '질의' '쿼리'라고 하기도한다.
SELECT 열 FORM 테이블명; 이런 식으로 DB의 데이터를 읽어올 수 있습니다.
이 때 SELECT, (애스터리스크)*,FROM 등은 예약어라고합니다. 그리고 각각 구로 나눌 수 있어서 SELECT구, FROM구라고 표현할 수 있습니다.
그리고 예약어와 객체명은 대소문자를 구별하지 않으므로 위와같은 명령이 가능합니다. MySQL외에서는 구분하는 경우도 있습니다.. 보통 예약어는 대문자로 표기합니다.
행은 모두 동일한 형태로 되어있고, 셀은 행과 열이 만다는 부분으로 하나의 데이터 값이 저장되어있다.
열은 총 4개가 존재하는데 이때 no는 숫자만 저장되는것으로 보아 '수치형' 데이터라는 것을 알 수 있다. 수치형에는 숫자만 저장가능합니다. 마찬가지로 name은 문자열로 구성되어있는데 이를 '문자열형'데이터 라고 부른다. 또 birthday열은 날짜를 가지므로 '날짜시간형' 데이터라고한다.
이렇듯 열은 하나의 데이터형을 갖게됩니다. NULL은 데이터가 없다라는 뜻입니다.
DESC로 테이블 참조하기
Field는 말그대로 필드명(열이름) Type에는 어떤 데이터타입이 들어가는지를 알 수 있고 괄호안에는 최대길이가 명시되어있습니다. NULL은 NULL값을 허용할지를 나타내며 YES는 허용입니다. Key는 해당 필드를 키로 지정할 것인지 결정합니다. Default는 데이터 추가시 입력값이 없으면 기본으로 줄 기본값입니다.
Type 중에서 처음보는 것을 집고가자면, VARCHAR형(가변)은 저장한 문자열의 길이에 맞게 저장곤간을 가변적으로 사용해서 저장해줍니다. DATE형은 날짜값을 저장할 수 있으며 TIME형은 시간을 저장할 수 있는 자료형입니다.
검색조건 지정하는 방법
SELECT 열1, 열2 FROM 테이블이름 WHERE 조건식
행을 선택할 떄는 WHERE구를 사용하고, 열을 선택할 댸는 SELECT구를 사용해서 열이름을 주면됩니다. 이 때 열을 지정하지 않으면 에러가 발생합니다. 열의 순서는 임의로 지정이 가능합니다. 또 동일열을 중복해서 지정해도 됩니다!
위와 같이말이죠. no를 여러번 즉 우리가 원하는 데로 가능하다는 말입니다.
WHERE구
WHERE구는 생략이 가능하며 구는 순서가 있어서 FROM 이후에 WHERE구를 사용할 수 있습니다.
'='연산자는 같은지 판단하는 연산자이며, 특이하게 다름(!=)연산은 '<>'로 합니다. 또 name의 경우 문자열이므로 이름을 큰따옴표(또는 싱글쿼트'')로 감싸주어야 한다는 것을 알 수 있었습니다. 날짜나 시간의 경우에도 싱글쿼트로 감싸표현한다합니다.
NULL값 검색시에는 =연산자를 사용하는 것이아닌 IS NULL 명령으로 WHERE구에서 검색을 할 수 있습니다. 나머지 다른 연산자의 경우는 보통 언어와 비슷하게 (<,>,<=,>=)연산이 존재합니다.
글이 길어져서 이번 글은 여기서 끊고, 다음 포스팅에서는 조건조합부터 학습해 보도록 하겠습니다.
'SQL > MySQL' 카테고리의 다른 글
[SQL] LIKE 패턴매칭 (0) | 2018.05.14 |
---|---|
[MySQL] AND, OR, NOT 연산 (0) | 2018.05.13 |
MySql 설치후 환경설정하기 (환경변수설정) (0) | 2018.05.13 |
MySQL 설치 및 다운로드 방법 (무료버전 Community Server) (2) | 2018.05.13 |
MySQL - 관계형데이터베이스(RDBMS)와 서버/클라이언트 구조 (0) | 2018.05.13 |