728x90

SQL 9

[MySQL] 08 연습: 3개테이블 생성, ALTER연습

3개의 테이블을 JOIN하는 연습을 하겠습니다. 이 3개의 테이블들 합치고, 숫자들 대신 정보들을 join시켜서 읽어보도록 하겠습니다. 이러한 테이블을 만들고, 중복되는 정보들을 따로 테이블로 빼서 관리하겠습니다. player_nation, player_tmi에 겹치는 정보가 여럿 있으니, 각각 테이블을 하나씩 만들어 주면 되겠네요. 일단 데이터베이스를 만들고(스키마), 테이블들을 만들겠습니다. CREATE DATABASE EXAMPLE_01; 그리고 이제 테이블을 만듭니다. CREATE TABLE MasterTable( -> Player_id INT NOT NULL AUTO_INCREMENT, -> Player_name VARCHAR(100) NOT NULL, -> Player_nation VARCHA..

Database (DB)/MySQL 2020.03.10

[MySQL] 07. MySQL Workbench

이번엔 MySQL Workbench를 사용해 보려고 합니다. MySQL Workbench는 MySQL Client중에 하나입니다 Client는 서버에 접속할때 필요한 툴? 같은 것들 입니다. 저희가 지금까지 cmd로 MySQL연결할때 뜨던 콘솔창 기억하시나요? 이런 모양의 창이었는데, 이건 MySQL을 다운받을때 자동으로 같이 딸려온 클라이언트 중에 하나입니다. 이번에는 좀 더 밝고 보기좋은 client를 이용해서 MySQL 서버에 접속 해보도록 하겠습니다. https://www.mysql.com/products/workbench/ 위의 링크에서 다운 받으시면 됩니다. 혹시 가입하라는 글이 뜨면, No thanks, just start my download. 를 클릭하시면 됩니다. (아래 있어요). 실행..

Database (DB)/MySQL 2020.03.10

[MySQL] 06. JOIN 그리고 테이블,스키마 삭제.

저번에 만든 두개의 테이블을 Join 해보려 합니다. 이렇게 mastetTable에 있는 author_number 뒤에 author에서 같은 번호들을 가져와서 붙히려고 합니다. SELECT * FROM masterTable LEFT JOIN author ON masterTable.author_number = author.number; Select을 이용해서 어디에 붙힐지 정하고 Join을 이용해 뭘 붙힐지 정했습니다. 뒤에 ON 다음에 오는 코드들은 마스터테이블에 있는 author_number가 author테이블에 있는 number랑 같은데 붙히겠다. 라는 의미입니다. 결과적으로 두개의 테이블이 잘 붙었습니다. 근데 author number랑 number랑 중첩인데, 굳이 보여줄 필요가 없습니다. 그래서..

Database (DB)/MySQL 2020.03.10

[MySQL] 06. 1개의 테이블을 2개로 분리하기

일단 시작하기에 앞서, 매번 하던 방법으로 TABLE까지 연결을 해야합니다. 현재 2개의 row만 있으니까, 몇줄만 더 추가해 보도록 하겠습니다. 처음 insert로 추가할때는 저희는 이런 방법으로 했는데요, INSERT INTO 테이블이름 (세로줄이름1, 세로줄이름1, 세로줄이름1....) VALUES (넣고싶은값1, 넣고싶은값2, 넣고싶은값3....); 실은 이렇게 하셔도 됩니다. INSERT INTO 테이블이름 VALUES (넣고싶은값1, 넣고싶은값2, 넣고싶은값3....); 이렇게 추가하셔도 괜찮습니다. 저는 이렇게 총 5줄을 가진 테이블을 만들었습ㄴ다. 보면 중복되는게 보이시나요? description에도 몇몇 중복이고, author도 중복이 있습니다. 이번에는 author 만으로 먼저 나눠볼게..

Database (DB)/MySQL 2020.03.10

[MySQL] 04. CRUD (데이터를 추가, 읽기, 수정, 삭제)

저는 새로 컴퓨터를 켰으므로, cmd를 열어서 다시 MySQL을 실행해야합니다. 경로 입력하고, mysql -uroot -p 그리고 비밀번호까지 치신다음에 저번에 만든 테이블이 잘 있나 확인하겠습니다. 처음에 바로 show tables; 를 썼다가 에러가 나왔는데, 이유가 데이터베이스를 선택 안하고 테이블을 바로 찾으려 해서 입니다. USE EXAMPLE_01;로 데이터베이스를 먼저 고르고, SHOW TABLES; 하니까 어제만든 TABLE_01이 잘 나오는데까지 확인했습니다. 이 과정은 점차 익숙해 지실겁니다. 처음에 데이터베이스를 Input, Output, 즉, 입출력에는 4가지 방법이 있다했습니다. 1. 데이터를 테이블에 추가하고 - Create / Add 2. 만들어진 데이터를 읽고 - Read ..

Database (DB)/MySQL 2020.03.08

[MySQL] 02. Schema, 스키마

저번에 배운 스키마를 만들어 보겠습니다. (cmd->경로입력->mysql -uroot -p -> 비밀번호로 먼저 mysql을 실행시켜주셔야 합니다.) 스키마를 만드는 방법은 CREATE DATABASE 이름; 입니다. 이름은 말그대로 데이터베이스 이름을 정해주시면됩니다. 저는 example_01로 했습니다. 여기서 Query Ok가 뜨면 성공입니다. 만약 이 문구 외에 다른게 뜨시면, 구글 검색엔진에 그대로 가져다 붙혀넣으시면 해결하실 수 있습니다. * 제일뒤에 ; 세미콜론 잊으시면 안됩니다. 이제 우리가 만든 데이터베이스들을 보고싶습니다. 그럴때는 SHOW DATABASES; 라고 입력해 주시면 됩니다. 그러면 이렇게 데이터 베이스를 보여줍니다. 이제 우리가 만든 example_01을 사용하고 싶습니다..

Database (DB)/MySQL 2020.03.07

[MySQL] 01. MySQL 서버에 접속하기(00에 이어서 조금만 보충)

저번에 MySQL을 실행까지 성공했습니다. 저희는 C:\Users\kevin>cd C:\Bitnami\wampstack-7.3.15-1\mysql\bin --> cmd에 경로를 먼저 알려주고 C:\Bitnami\wampstack-7.3.15-1\mysql\bin>mysql -uroot -p --> 그 경로안에있는 mysql 파일에 -uroot라는 사용자로 -p 패스워드를 칠수있게 해달라고 요청을 했습니다. -p뒤에 -p123123이렇게 비밀번호를 직접입력해도 되는데, 보안적인 문제로 좋지 않아서 대부분 -p만 입력하여 MySQL이 비밀번호를 물어보게 합니다 또, -uroot는 저희가 제일 기초적인(?) 사용자로 접속을 하였는데, 이 경우는 모든 권한이 열려있고, 이렇게 직접적으로 데이터베이스를 다루는건 ..

Database (DB)/MySQL 2020.03.07

[MySQL] 00. MySQL 설치

저는 Window를 쓰며.. Window 기반으로 설명드리겠습니다. https://bitnami.com/stack/wamp여기서 다운 받으시면 됩니다. (https://www.mysql.com/products/community/맥은 여기서 받으시면 됩니다.) 사이트를 들어가시면, 좌측처럼 나오는데, 일단 가운데에 WIN/MAC/.. 이걸 클릭하시고 아래로 내려가면 우측처럼 나옵니다. 이제 가운데 주황색 버튼을 눌러서 다운받으시면되는데 클릭하시면 이런 창이나옵니다. 굳이 로그인 할필요는 없느니, 제일아래 No Thanks. 를 눌러줍니다 :) 다운이 다 되면, 이제 next를 누르시면되는데, 체크하시는거는 그냥 두시고, 경로는 일단 어디에 저장되는지 확인만 해두시면 됩니다. 그리고 이제 이런 창이 뜨는데,..

Database (DB)/MySQL 2020.03.07

[DB] 00. 시작하기

DataBase란, 여러 사람들에 의해 공유되어 사용될 목적으로 통합하여 관리하는 데이터의 집합입니다. 자료의 중복을 없애면서, 자료를 구조화 한 후에 저장하여, 검색과 갱신등에서 효율을 높여줍니다. 즉, 몇개의 자료파일을 조직적으로 통합하여 자료항목의 중복을 없애고 자료를 구조화하여 기억시켜놓은 자료의 집합체 입니다. (from 구글 definition) 이런 작업들을 우리가 흔히 사용하는 file 즉 파일로 할 수는 있는데, 파일로 하게될경우, 보안이나 성능쪽에 한계가 있어서 이걸 보완하려고 데이타베이스를 씁니다. 또한 파일이나 스프레드시트보다 데이터베이스를 쓰는 이유가, 데이터베이스는 일단 컴퓨터 프로그래밍을 통해서 데이터를 자동으로 추가하고 수정하고 삭제할 수 있습니다. 데이터베이스 제품은 정말 ..

Database (DB) 2020.03.07
728x90