SQL 45

[🎉중급🎉] 외래키

🐶 외래키 외래키는 일종의 제약사항이다. 외래키를 설정해두면 데이터를 넣거나 삭제할때 제약사항이 따르게 된다. 해당 제약에 맞춰서 넣고 삭제한다. 꼭 써야하지는 않지만, 외래키를 통해서 제약사항을 두면 데이터의 정확성, 신뢰성 이런 것들이 올라간다. 기본키와 함께 여러 테이블에 데이터를 넣을때 외래키를 통해서 연결하는 경우가 있어서 외래키를 기본적으로 알고 있어야 한다. 이해하기 위해서는 이렇게 하면 SQLDB라는 데이터베이스가 만들어진다. 설명 : 이 쿼리를 보면 SQLDB가 이미 있다면 삭제하고 다시 만들어달라. 그리고 userTb1이 이미 있다면 삭제하고 다시 테이블을 만들어달라. 그 다음 또 테이블을 생성하고 데이터를 테이블에 넣는 SQL쿼리 구문이다. 이렇게 하면 테이블에 buy테이블과 user..

SQL 2023.08.28

[실전] GROUP BY, AS, ORDER BY

🐕‍🦺 실습문제(GROUP BY) 그룹화를 하는 이유: 그룹화를 해서 각 그룹별로 집계를 하기 위함. ※ GROUP BY는 거의 맨 끝에 쓴다. SELECT 컬럼 FROM 테이블명 GROUP BY 컬럼; # 테이블의 컬럼 값을 그룹핑 하여라. SELECT COUNT(*) FROM 테이블명 GROUP BY 컬럼; # 그룹이 몇 개인지 출력해줌. SELECT COUNT(*) FROM 테이블명 WHERE 조건문 GROUP BY 컬럼; # 조건에 맞는 데이터를 컬럼별로 그룹화하라. 문제1. 영화 테이블에서 매겨진 등급 종류들을 모두 출력하시오 (GROUP BY사용) 문제2. film에 매겨진 등급 종류에 따른 영화 개수를 모두 출력하라. 문제3. 영화테이블에서 영화가 pg또는 g등급의 영화 수를 각 등급별로 출..

SQL 2023.08.28

[실전] LIMIT, COUNT, DISTINCT, 집계함수

🐕‍🦺 WORKBENCH에서 데이터 불러오기 sakila데이터베이스를 어떻게 워크벤치를 통해서 내 DB에 넣는가? 스키마 처리 > DATA를 처리 sakila-schema를 먼저 선택해서 정상적으로 실행을 하면 이와 같이 녹색으로 화면이 뜰 것이. sakila-data도 위와 똑같은 방식으로 한다. 🐕‍🦺 실습문제(LIMIT, COUNT(), DISTINCT) 현업에서는 이미 있는 데이터에서 내가 원하는 데이터를 끄집어내는 역할을 많이 할 것이다. SQL코딩테스트쪽에서도 결국은 SELECT를 잘 조합하여서 원하는 데이터를 뽑아내는 쿼리문제이다. SELECT구문은 추가적인 여러가지 SQL구문이 있다. 그리고 내가 원하는 데이터를 뽑아내려면 그런 여러가지 SQL구문을 조합해야 한다. 그런 조합하는 역량이 필..

SQL 2023.08.25

[더 알아가기]MySQL관리를 위한 SQL이해

🦴 MYSQL 사용자 확인, 추가, 비밀번호 변경, 삭제 SQL DCL이란 무엇인가? Mysql의 사용자를 확인하거나 추가, 비밀번호 변경, 삭제하는것 처럼 mysql에 데이터를 명령들을 모아놓은 명령어이다. 그 중에서 DB는 여러 사람들이 접속해서 각 사용자별로 ID를 만들어놓는 경우도 있고, 비밀번호를 바꾸거나 이런 작업을 할 필요가 있을 때가 있는데 그런 작업을 어떻게 하는지 설명한다. 터미널로 프로그래밍 해보기 ※ 윈도우 검색 → mysql command line -unicode 검색 후 클릭 1. MYSQL 사용자 확인 mysql데이터베이스 프로그램 안에는 mysql이라는 이름을 가진 DB가 파일로 있다. 이렇게 많은 테이블 중에서 USER라는 테이블이 있는데, 2. 사용자 추가 MAC환경 CR..

SQL 2023.08.25

SQL로 데이터 수정/ 삭제/ 활용

🦮 데이터 수정(UPDATE) UPDATE [테이블] SET 컬럼='변경할 데이터' WEHRE 조건문; UPDATE [테이블] SET 컬럼='변경할 데이터' → 이렇게만 쓰고 실행을 하면 에러가 난다. 왜냐하면 한 컬럼 데이터 모두 i3로 변경되기 때문이다. 그래서 WHERE를 같이 써서 일부 데이터만 수정하도록 한다. 그래서 통상적으로 UPDATE 구문은 WHERE라는 조건과 함께 사용된다. ex) id가 3인 레코드의 name을 i3으로 변경하라. 여러 개의 데이터를 변경하고 싶다면???? 🦮 데이터 삭제(DELETE) DELETE FROM 테이블명 WHERE 컬럼='값'; "DELETE FROM 테이블명"만 작성하면 모든 데이터가 삭제된다.(테이블은 그대로 있지만, 안에 아무런 값도 없음.) 🦮 문..

SQL 2023.08.24

[데이터 다루기] SQL로 데이터 검색하기

🐩 데이터 읽기(검색 SELECT) SELECT '* '또는 '컬럼' FROM 테이블명; SELECT 기존컬럼 AS 새로운컬럼 FROM 테이블명; 컬럼명 바꿔서 출력하기 ※ 출력할 때 컬럼명을 변경하지 기존 컬럼의 컬럼명을 변경하지는 않는다. 🐩 데이터 정렬 변경(ORDER BY) SELECT * FROM 테이블명 ORDER BY 정렬할 기준 컬럼명 DESC; → 내림차순 SELECT * FROM 테이블명 ORDER BY 정렬할 기준 컬럼명 [ASC]; → 오름차순(Default) ▶ i를 보고 다 똑같으니 뒤에 숫자를 보고 내림차순으로 한다. 🐩 조건에 맞는 데이터만 검색(WHERE) 비교연산자: SELECT * FROM 테이블명 WHERE 컬럼= 값; 논리연산자: SELECT * FROM 테이블명 W..

SQL 2023.08.24

[데이터 다루기] SQL로 데이터 입력하기

만들어진 테이블에 데이터를 생성하고, 넣고, 읽고, 갱신, 삭제하는 CRUD명령에 대해서 알아보자. 현업에 CRUD명령이 가장 많이 사용된다. 기존 만들어 놓은 테이블을 가공해서 실습을 해보자. 🐕 각 컬럼에 실제 데이터를 어떻게 삽입할까??? 1. 모든 컬럼에 데이터를 삽입할때 INSERT INTO 테이블명 VALUES (컬럼순서대로 값 삽입) 2. 특정 필드에 데이터를 삽입하고자 할 때 ※ id는 AUTO_INCREMENT옵션이 들어가서 값을 넣지 않아도 자동으로 +1하여 값이 들어가게 된다. INSERT INTO 테이블명 (특정컬럼) VALUES (삽입하고자 하는 데이터); 위처럼 ID에 1이 추가되어 값이 들어간 모습을 확인할 수 있다. 이처럼 테이블에 데이터를 입력하는 방법은 2개이다. 전체 컬..

SQL 2023.08.24

[스키마 구성]SQL로 테이블 변경 및 외래키

🌭 테이블 구조수정 → 케이스가 많아서 테이블 구조 수정이 다소 복잡하다. 1. 새로운 컬럼 추가 ALTER NAME 테이블명 ADD COLUMN 컬럼명 데이터값 [옵션]; DESC 테이블; 2. 컬럼 타입 변경 name 컬럼의 데이터 공간을 가변적으로 만들어보자. ALTER TABLE 테이블명 MODIFY COLUMN 기존컬럼명 변경하고자하는 데이터 값; DESC 테이블명; 3. 컬럼 이름 변경 name컬럼명을 modelname으로 바꾸고자 한다. CHANGE COLUMN 은 이름, 데이터값도 바꿀 수 있음. ALTER TABLE 테이블명 CHANGE COLUMN 기존컬럼 새로운컬럼 새로운데이터값; DESC 테이블명; 4. 컬럼 삭제 age컬럼을 삭제해보자. 🌭 연습문제(생성, 조회, 변경) 문제1. ..

SQL 2023.08.24

[스키마 구성]MySQL workbench 기본 사용 방법 이해 및 테이블 만들어보기

🌭WorkBench사용방법 SQL접근방법 두 가지 1. 워크벤치라는 툴을 사용하여 DB다루기 2. 프로그래밍을 사용해서 데이터에 SQL을 넣는다. 결과적으로 데이터베이스에 SQL명령을 전달하기만 하면 된다. 그래서 현업에서는 각 회사마다 웹 기반에 툴을 사용하는경우도 있다. 이 Schema라는 부분은 우리들의 mysql의 데이터베이스가 보여지는 부분이다 처음 접속하면 sys라는 데이터베이스 파일이 있는데, 이 폴더는 mysql 자신만의 설정 데이터 이런 것들도 데이터베이스로 관리해서 보여질 수 있다. mac환경은 administration, schemas가 위에 있고, 윈도우는 아래에 있다. 🌭명령어 익혀보기 이제 mysql프로그램에 스키마를 만들어보는 명령들을 익혀보도록 한다. 데이터베이스 안에는 여러..

SQL 2023.08.23

SQL과 Schema 이해하기

🌭 데이터베이스 스키마(Schema) DB의 테이블 구조 및 형식, 관계 등의 정보를 형식 언어(formal language)로 기술한 것 1. RDB를사용하여 데이터를 저장할 때 가장 먼저 할 일은 데이터의 공통 속성을 식별하여 컬럼으로 정의하고, 테이블을 만드는것 2. 통상적으로 하나의 테이블이 아닌 여러 개의 테이블로 만들고, 각 테이블 구조, 형식, 관계를 정의함. 3. 이를 스키마라고 하며, 일종의 데이터베이스 설계도로 이해하면 됨. 4. 데이터베이스마다 스키마를 만드는 언어가 존재하며, 해당 스키마만 있으면 동일한 구조의 데이터베이스를 만들 수 있음. (데이터베이스 백업과는 달리 데이터 구조만 동일하게 만들 수 있음.) 데이터베이스는 특이하게 다른 기술과는 다르게 처음에 이해해야하는 용어들이 ..

SQL 2023.08.23