Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
CLOSE
Search For:
Search
BY TAGS
linux
HTTP
golang
flutter
java
fintech
개발환경
kubernetes
network
Docker
devops
database
tutorial
cli
분산시스템
www
블록체인
AWS
system admin
bigdata
보안
금융
msa
mysql
redis
Linux command
dns
javascript
CICD
VPC
FILESYSTEM
S3
NGINX
TCP/IP
ZOOKEEPER
NOSQL
IAC
CLOUD
TERRAFORM
logging
IT용어
Kafka
docker-compose
Dart
MySQL & SQL 스터디 준비
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2024-08-14
2022-08-09
2153
# MySQL 과 SQL ## 들어가기 전에 앞으로 SQL을 배우게 될겁니다. 뭐든지 배울려면 실습이 중요하겠죠. 이 문서는 SQL 실습환경을 만들기 위한 환경 설정 내용을 담고 있습니다. 앞으로 모든 SQL 강좌는 여기에서 제시한 환경을 기준으로 이루어지니 이번 기회에 설치하면 많은 도움이 될 겁니다. ## MySQL을 이용한 SQL 학습 준비 그러므로 SQL을 학습해야 하는 이유는 충분하다. 당신이 프론트앤드 개발자이건 기획자이건 결국 배워야 한다는 사실은 변함이 없다. SQL을 학습하는 가장 좋은 방법은 RDBMS를 준비해서 직접 SQL 명령을 실행하는 것이고, 가장 널리 사용하는 MySQL을 기반으로 SQL 학습을 준비할 것이다. ## MySQL Server & Client설치하기 우분투 리눅스에서 Docker 기반으료 MySQL을 설치하기로 했다. **MYSQL_ROOT_PASSWORD**에 원하는 root user 패스워드를 설정하고 실행하면 된다. docker install 은 [여기](https://docs.docker.com/engine/install/ubuntu/)를 참고하자. ```shell $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql ``` 이 명령 하나면 mysql이 실행된다. 이제 mysql 서버에 접근해보자. 먼저 mysql 서버의 ip를 확인해야 한다. ```shell $ docker inspect -f "{{ .NetworkSettings.IPAddress }}" some-mysql 172.17.0.2 ``` MySQL 서버에 접근하기 위해서는 MySQL Client 가 설치되어 있어야 한다. ```shell $ sudo apt-get update $ sudo apt-get install mysql-client ``` 해당 IP로 접근하자. 패스워드는 MYSQL_ROOT_PASSWORD에 설정한 값을 사용한다. ```shell $ mysql -u root -p -h 172.17.0.2 1 ↵ Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 8.0.30 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ``` 성공이다. ## 연습용 데이터적재하기 SQL을 연습하려면 제대로된 데이터가 로딩되어 있어야 한다. 그렇지 않으면 매번 데이터를 입력하고 테스트해야 하는데 여간 귀찮은 작업이 아니다. 아래 셈플 데이터를 다운로드 받아서 우리가 설치한 MySQL에 데이터를 적재하자. [Northwind MySQL Sample Database](https://drive.google.com/file/d/1Q9Qcye_oH1QYD6DG459XJ9bRZGUsomCL/view?usp=sharing) 압축을 풀어보자. ```shell $ unzip northwindmysql.zip Archive: northwindmysql.zip inflating: northwindmysql.sql ``` northwindmysql.sql 에는 쇼핑몰 관련 데이터인(상품, 고객, 선적사..)등의 정보들이 들어 있다. 이 데이터를 적재하기 위한 Database를 생성한다. ```sql mysql> CREATE DATABASE northwind; Query OK, 1 row affected (0.01 sec) ``` Shell 에서 아래와 같이 데이터를 적재한다. ```shell $ mysql -u root -p northwind -h 172.17.0.2 < northwindmysql.sql Enter password: ``` 데이터가 제대로 적재됐는지 확인해보자. ```sql mysql> use northwind; Database changed mysql> show tables; +---------------------+ | Tables_in_northwind | +---------------------+ | categories | | customers | | employees | | order details | | orders | | products | | shippers | | suppliers | +---------------------+ 8 rows in set (0.00 sec) ``` 고객정보, 상품정보를 비록한 여러 테이블이 만들어진걸 확인 할 수 있다. 아직 SQL을 익히지 않았지만, 고객 테이블 (customers)에 어떤 데이터가 있는지 확인해보자. ```sql mysql> select customerid, contactname, city, country from customers limit 10; +------------+----------------------+--------------+---------+ | customerid | contactname | city | country | +------------+----------------------+--------------+---------+ | ALFKI | Maria Anders | Berlin | Germany | | ANATR | Ana Trujillo | México D.F. | Mexico | | ANTON | Antonio Moreno | México D.F. | Mexico | | AROUT | Thomas Hardy | London | UK | | BERGS | Christina Berglund | Luleå | Sweden | | BLAUS | Hanna Moos | Mannheim | Germany | | BLONP | Frédérique Citeaux | Strasbourg | France | | BOLID | Martín Sommer | Madrid | Spain | | BONAP | Laurence Lebihan | Marseille | France | | BOTTM | Elizabeth Lincoln | Tsawassen | Canada | +------------+----------------------+--------------+---------+ 10 rows in set (0.00 sec) ``` 테스트에 사용한 쿼리가 어떤 내용인지 궁금하겠으나 그건 나중에 살펴보기로 하자. ## 정리 [SQL Study With MySQL](https://www.joinc.co.kr/w/sql_study_with_mysql_index) 에서 MySQL과 관련된 다른 문서들을 읽을 수 있습니다.
Recent Posts
Vertex Gemini 기반 AI 에이전트 개발 03. Vertex AI Gemini 둘러보기
Vertex Gemini 기반 AI 에이전트 개발 02. 생성 AI에 대해서
Vertex Gemini 기반 AI 에이전트 개발 01. 소개
Vertex Gemini 기반 AI 에이전트 개발-소개
생성 AI 모델 Flux.1 설치 및 사용
GPT를 이용한 Reranker 테스트
5분만에 만들어보는 Streamlit 챗봇
Let's encrypt로 SSL 인증서 관리하기
Upscayl을 이용한 이미지 업스케일링
스테이블 디퓨전 설치 및 사용해보기
Archive Posts
Tags
database
mysql
sql
SQL tutorial with MySQL
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags