본문 바로가기
공부/mysql

Mysql 기본 명령어 1 (SELECT구문)

by signature95 2022. 1. 21.
728x90
반응형

앞선 포스트에서 mysql path설정을 해보았다.

 

2022.01.21 - [mysql/mysql 설정] - Mac OS mysql path 설정

 

Mac OS mysql path 설정

mysql을 공부하려고 먼저 mysql을 설치하였는데, 이게 맥의 터미널에서는 path설정이 매우 복잡해서 여러 사이트를 찾아보았다. 참고한 사이트 https://devdotcode.com/how-to-add-mysql-to-the-path-in-mac-os/ H..

signature95.tistory.com

 

참고로 해당 데이터의 출처는 sql 첫걸음임을 밝힌다.

저자 : 아사이 아츠시          한빛미디어                        발매 : 2015.11.01

 

 

 

따라서 이번에는 터미널 창을 계속 활용하면서 SQL 명령어를 입력해보고 이를 출력한 결과까지 정리하고자 한다.

 

먼저 SELECT * FROM db_name.table_name; 이다.

 

SQL 명령어 중 가장 기본이 되는 명령어다.

 

하나하나 분해해서 정리해보자.

  • SELECT : 선택하라는 명령어를 수행해라.
  • * : 모든 열을 의미한다. (all)
  • FROM : 어디서?
  • db_name.table_name : 먼저 데이터 배이스에 존재하는 테이블을 출력해야하기 때문에 이와 같이 입력한다
  • ; : 마지막으로 명령어 뒤에 세미콜론을 삽입해야 한다. 이는 SQL에서 명령어의 마지막이라는 것을 의미한다.
  • 참고) 위의 select, *, from, db_name.table_name는 모두 띄어 쓰기로 입력해야 한다. 

SQL 명령어는 여러 키워드에 의해 '구'라는 단위로 구성된다. 따라서 위의 SELECT 명령은 2개의 구로 나뉜다.

 

SELECT *  :  SELECT 구
FROM db_name.table_name  : FROM 구
위 두개 SELECT, FROM은 구를 결정하는 키워드, 즉 예약어로 정의된다.

 

만약 다른 table을 보고 싶다면 table_name 부분을 수정하면 될 것이다.

 

 

 

하지만 원래 DB에 존재하는 table명을 중복으로 사용하는 것은 불가능하다.
또한, 예약어를 그대로 table명으로 만드는 것도 불가능하다.

 

더하여 대소문자 구별은 SQL에서 하지 않는다.

즉,  SELECT * FROM db_name.table_name; 의 명령어는 select * from  db_name.table_name; 과 동일하게 인식되는 것이다.

 

그렇다면 터미널을 통해 mysql을 시행해보자.

여기서 no, name, birthday, address는 컬럼명(= 필드명, 열이름)을 의미한다.

그리고 각 개인정보는 행(=레코드)를 의미한다.

또한, 개인정보의 항목 자체는 셀을 의미한다.

 

애초에 데이터를 입력할때, 각 열에 데이터의 종류를 입력해야 한다. 즉, no에는 수치형이며 name은 문자열형, birthday는 날짜시간형인 것이다.

따라서 no에는 숫자만 입력할 수 있고 문자열을 입력하진 못한다.

 

NULL이 의미하는 것은 데이터자체가 없다는 것이다. 즉 Nan 값이라고 보면 된다.

728x90

댓글