SQL 첫걸음 4-5강 정리
02 Oct 2019책을 보면서 공부한 내용 복습 및 정리
mysql server 설치
먼저 mac에서 mysql을 설치하기 위해 아래 명령어를 순서대로 입력하였다.
$ brew update
$ brew search mysql
$ brew install mysql
설치를 마친 후 mysql server를 실행하기 위해 아래 명령어를 입력하자 에러가 발생했다.
$ mysql.server start
my_print_defaults: Can't read dir of '/usr/local/etc/my.cnf.d' (OS errno 2 - No such file or directory)
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
Starting MySQL
.my_print_defaults: Can't read dir of '/usr/local/etc/my.cnf.d' (OS errno 2 - No such file or directory)
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
my_print_defaults: Can't read dir of '/usr/local/etc/my.cnf.d' (OS errno 2 - No such file or directory)
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
ERROR! The server quit without updating PID file (/usr/local/var/mysql/..).
마지막 에러 메세지를 검색하고 여러 방법을 따라하다가 아래 명령어를 통해 에러가 해결됐다.
$ brew remove mysql
$ brew cleanup
$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql
$ brew install mysql
$ mysqld --initialize --explicit_defaults_for_timestamp
$ mysql.server start
4강
먼저 한빛미디어에서 sample.dump 다운받고 아래 명령어를 실행하면 dump 파일을 import 한 후, mysql을 실행한다.
$ mysql -u root -p < sample.dump
$ sudo mysql
show databases;
를 입력해 sample 데이터베이스가 있는지 확인한 후, use sample;
로 sample 데이터베이스를 바꿔준다. show tables;
를 입력하면 앞으로 책에서 사용할 예제 테이블을 확인할 수 있다.
mysql> show databases;
mysql> use sample;
mysql> show tables;
아래 명령어는 sample21 테이블에서 모든 컬럼의 값을 가져오는 명령어이다. 명령어를 실행하면 no, name, birthday, address 총 4개의 컬럼이 있어 select no, name, birthday, address from sample21;
으로 할 수도 있지만, 모든 열을 의미하는 *
을 사용함으로써 간단하게 모든 열을 지정할 수 있다.
mysql> select * from sample21;
select
, *
, from
등을 예약어라 부르는데, 이런 예약어는 테이블과 같은 데이터베이스 객체명에는 사용할 수 없다.
5강
4장에서 sample21 테이블의 컬럼과 값을 확인했다. 테이블 구조를 알고 싶을 때는 아래 명령어를 통해 확인할 수 있다.
mysql> desc sample21;
결과를 보면 테이블에 있는 필드, 타입, null 유무, key 종류, default 유무 등을 확인할 수 있다.
자료형
- INTEGER: 정수값을 저장할 수 있는 자료형
- CHAR: 문자열을 저장할 수 있는 자료형으로 열의 최대 길이를 지정해야 한다. CHAR형에서는 길이가 고정되므로 최대 길이보다 작은 문자열을 저장할 경우 공백문자로 나머지를 채운 후 저장된다.
- VARCHAR: 문자열을 저장할 수 있는 자료형으로서 열읠 최대 길이를 지정해야하며 CHAR형과는 다르게 데이터 크기에 맞춰 저장공간의 크기도 변경된다.
- DATE: 날짜값을 저장할 수 있는 자료형
- TIME: 시간을 저장할 수 있는 자료형