SQL 27

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로 데이터 입력하기

만들어진 테이블에 데이터를 생성하고, 넣고, 읽고, 갱신, 삭제하는 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 환경만들기

🐶환경만들기(Windows환경) 2023년 버전 하나라도 잘못되면 안되므로 천천히 따라오시길 바랍니다. https://www.mysql.com/downloads/ MySQL :: MySQL Downloads MySQL Cluster CGE MySQL Cluster is a real-time open source transactional database designed for fast, always-on access to data under high throughput conditions. MySQL Cluster MySQL Cluster Manager Plus, everything in MySQL Enterprise Edition Learn More » C www.mysql.com Mysql저작권을 오라..

SQL 2023.08.22

INNER/ OUTER JOIN

🐶 JOIN 기준을 가지고 있는 데이터를 합치는 것 언제사용되는가? 보통 한 테이블 내에서 내가 원하는 정보가 모두 있으면 좋지만, 여러 테이블에 흩어져 있는 경우가 있다. 이렇게 혼재된 데이터를 가져올 때 사용한다. 여러가지 JOIN이 존재하는데, 그 중 우리는 INNER/ LEFT/ RIGHT/ OUTER JOIN을 다룰 것이다. 🐶 INNER JOIN ※ Inner join을 수행하기 위해서는 결합하고자 하는 테이블이 동일한 컬럼을 가져야 한다. 문제1. (테이블 2개인 경우) student 내에 학과 컬럼을 이용해서 profressor 테이블에 있는 연구소 정보를 얻는다. 이 두 개 정보를 조합해 가져오기 위해서는 join을 활용해보자. student 테이블에도 학과가있고, professor테이블..

SQL 2023.08.17

조건문

조건문 조건을 설정하여 원하는 데이터만 추출하는 방법을 알아낼 수 있도록 함. CASE WHEN 웬만한 DBMS에서 다 쓰임. 조건이 여러가지인 경우 유리함. 문제1. 과목 정보에서 이수구분이 전필이라면 전공필수과목이라고 명명하며 아니라면 해당 컬럼을 전공필수 및 선택구분으로 명명하도록 한다. 그리고 학과번호, 과목명, 이수구분을 컬럼으로 나타낼 것이다. END AS라고 한 이유는 해당 조건을 통해 얻어낸 데이터들을 모아놓은 컬럼이 무엇인지 나타내는 별칭 역할을 한다. AS를 빼더라도 AS가 있다고 간주하지만, 여기서는 데이터 집합이 무엇이 있는지 나타내기 위해서 AS를 사용하였다. 문제2. 전공필수과목이 아닌 것들을 전공 선택과목으로 나타내고 싶다면 어떻게 해야할까?????? 문제3. 1학년 2학기 성..

SQL 2023.08.16

WebSQL 내장함수(문자열/ 숫자 함수)

함수란? 함수란 사용자가 사용이 편하도록 미리 정의된 기능의 모음 함수의 종류 단일행 함수: 데이터 베이스에 저장된 자료 한 줄 한 줄을 대상으로 하는 함수 복수행 함수(그룹함수): 테이블 전체를 대상으로 하는 함수 ex) SQLLite 버전 확인 함수 데이터 타입(자료형) ex) TYPEOF() 정수를 넣으면 integer, 실수를 넣으면 real, 문자열을 넣으면 text, 블랍형...? 날짜 및 시간도 텍스트타입니다. * Blob형이란??? (binary large object) 바이너리 형태로 큰 객체들(이미지, 사운드, 비디오 같은 멀티미디어)을 저장한다. 즉, 바이너리로 멀티미디어를 저장함. 문자자료형 처리 내장함수 1. 날짜 및 시간 함수 sqllite에서 날짜, 시간을 나타낼 수 있는 자료..

SQL 2023.08.16

CRUD

CRUD CRUD란 대부분 컴퓨터 SW가 가지는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete의 줄임말이다. DB를 사용하기 위한 기초적인 쿼리 형식을 의미한다. CREATE(생성) 테이블을 새로 생성한다. 생성하고 싶은 테이블 명을 적어주고 어떤 컬럼의 데이터로 생성할지 적어줘야 한다. 컬럼을 적을때는 컬럼명, 데이터타입, 조건으로 적어주되 스페이스로 구분을 해줘야 한다. 다만 제약조건은 필수적으로 적어야 할 것이 아닌 옵션이다. 문제1. 제품이라는 테이블을 만들어보자. 설명: 제품이란 테이블을 만드는데, 숫자 자료형의 제품번호 컬럼, 문자열 자료형인 제품이름, 숫자 자료형인 가격 컬럼으로 구성된다. 이렇게만 하면 아직 아무런 결과값도 안나오는데 그 이유는 아직 테이블..

SQL 2023.08.16

WHERE, INSERT

WHERE WHERE문은 데이터를 검색, 갱신, 삭제할 때 특정 데이터에 대한 조건을 설정할때 사용하는 구문 조건을 설정한다는 것은 무엇인가? 이처럼 WHERE문은 하나 또는 여러 연산자를 조합하여 조건을 지정할 수 있다. 문제: 국가장학금 100만원 이상 받은 학생들을 조회해보자. 문제: 교수정보에서 교원번호가 1,2,3인 테이블을 만들어보자. 논리연산자를 사용해서 여러 개의 조건을 같이 사용해보자 문제: 학생 정보에서 학과 정보가 컴퓨터공학과이거나 전자공학과인 학생들만 찾는 쿼리문을 던져보라. 문제: 컴퓨터공학과이면서 1학년인 학생을 찾는 쿼리문을 날려보라 문제: 코로나등교시절 학번이 홀수 학번인 학생은 등교를 하지만 짝수 학번인 학생은 등교를 할 수 없었다. 학번이 홀수인 학생들만 출력하는 쿼리문으..

SQL 2023.08.16

IS NULL, 비트 단위 논리연산자

IS NULL 필드의 값이 NULL인 경우를 조회하고자 할 때 사용한다. NULL은 결측치로 값이 없음을 의미한다. 공백과 0은 값이 있는 것인데, NULL은 값이없다 자체를 의미한다. 데이터는 결측치를 어떻게 처리해주느냐에 따라서 분석이 완전히 달라져서 NULL값 처리가 중요하다. 문제: 장학금 정보에서 성적장학금이 null인 레코드를 찾아보아라. 문제: 성적장학금, 국가장학금, 근로장학금 모두를 받은 학생이 있는지 찾아보자. 코드를 두 가지로 나타낼 수 있다. 이렇게 해도 같은 결과가 출력된다. 비트 단위 논리연산자 비트연산자는 데이터를 비트 단위로 연산한다. 비트는 0과 1로 표현하는 정보의 최소단위 따라서 비교하는 두 값을 비트 단위로 나열한 뒤 각 자리수를 연산한다. AND -> & OR -> ..

SQL 2023.08.16