컴퓨터/MySQL 18

MySQL (8) - 기본키를 여러 개 두어야 할 때 (복합키)

기본키(Primary Key)는 여러 개 사용할 수 없습니다. 하지만 기본키를 여러 개가 필요 경우가 있습니다. 예를 들어 "매년도에 전체 학생의 행사 참여에 관한 테이블을 만들 때" 학생과 년도의 정보를 묶어서 사용해야 합니다. 어떻게 해야 하는가? 우선 기본키는 주민등록번호와 같이 테이블의 각 행을 고유하게 식별하는 역할을 합니다. 해당 역할을 수행하기 위해 NULL 값을 가져서는 안 되며 각 열을 구분할 수 있어야 합니다. 또한 기본키는 더불어 최소성을 가져 각 테이블에 한 개만 둘 수 있습니다. CREATE TABLE TEMPDB ( student_numVARCHAR(12) PRIMARY KEY, yearINT PRIMARY KEY, activityVARCHAR(100), noteVARCHAR(1..

컴퓨터/MySQL 2023.03.11

MySQL (7) - JOIN에 대하여 알아보자

SQL 탐색에서 여러가지 테이블을 연동하여 사용하는 경우가 많습니다. 이때 사용하는 방법이 JOIN입니다. 이번에는 해당 방법에 대하여 알아보겠습니다. 한 번에 알아보는 JOIN의 종류 간단하게 집합 사진과 쿼리문을 정리하였습니다. 시간이 없으신 분들은 해당 부분의 쿼리문만 보셔도 됩니다. 벤다이어그램 소스 코드 SELECT * FROM A a INNER JOIN B b ON a.KEY = b.KEY; SELECT * FROM A a LEFT OUTER JOIN B b ON a.KEY = b.KEY; SELECT * FROM A a LEFT OUTER JOIN B b ON a.KEY = b.KEY WHERE b.KEY IS NULL; SELECT * FROM A a RIGHT OUTER JOIN B b ..

컴퓨터/MySQL 2023.03.02

MySQL (6) - 무결성 제약조건

지난번에는 테이블을 정의하는 명령어를 (DDL) 정리하였습니다. 명령어를 중심으로 기술하였는데 제약조건에 대하여 설명이 필요할 것 같아 이렇게 적어봅니다. 제약조건을 사용하여 중복이 없는 데이터베이스를 만들 수 있습니다. 이번에는 무결성 제약조건과 MySQL에 있는 제약조건들을 설명해보겠습니다. 무결성 제약조건 / MySQL에서 사용하는 함수 무결성 제약조건이란 데이터가 결함이 없는 상태 데이터를 정확하고 일관되게 하기 위하여 저장, 수정, 삭제를 제약하는 조건입니다. 위에서 말한 것과 같이 중복이 없는 데이터베이스를 만드는 것입니다. 1. 개체 무결성 각 릴레이션의 기본키를 구성하는 속성은 NULL값이나 중복하는 값을 찾을 수 없다. → PRIMARY KEY(기본키) - 테이블을 대표하는 컬럼이다. 2..

컴퓨터/MySQL 2022.06.18

MySQL (5) - 테이블을 만져보자 (CREATE, ALTER, DROP)

지난편에는 DML(데이터 조작어)을 통하여 테이블 안에 있는 데이터들을 다뤄보았습니다. 테이블은 데이터를 담는 그릇입니다. 이번에는 테이블을 정의하는 법에 대하여 간략하게 설명해보겠습니다. 테이블을 정의하는 명령어를 DDL (Data Definition Language)입니다. 생성 (CREATE) Create table academy ( Class INT, Name VARCHAR(12), Price INT, Go DATE ); CREATE 명령어는 테이블을 생성하는 명령어입니다. 괄호 안에는 테이블에 있는 필드들을 이렇게 사용할 것이다로 표현합니다. 위의 예제는 academy라는 테이블을 제작하였고 해당 테이블은 아래와 같이 생성되었습니다. Class(INT) Name(VARCHAR) Price(INT..

컴퓨터/MySQL 2022.04.30

MySQL (4) - 데이터를 수정해보자 (Insert, Update, Delete)

어떻게 하면 테이블의 데이터와 테이블 자체를 다루는 법을 한 번에 소개할까 생각을 해보았는데 생각해보면 각각 소개하는 게 맞다고 생각하여 먼저 테이블의 데이터를 조작하는 법을 올려보려고 합니다. 먼저 해당 명령어는 DML(Data Manipulation Language)로 데이터를 조작하는 명령어 입니다. select명령어 역시 DML로 들어가지만 이번에는 생성, 수정, 삭제는 다음의 명령어를 알아보려고 합니다. MySQL에서는 일반적인 데이터베이스에서 사용하는 명령어와 같은 명령어를 사용합니다. ※mytable이 이미 있는 테이블이라고 정의하고 시작하겠습니다. class name price score 1 minji 5500 80 2 sanggyu 1000 2000 아래와 같은 구성으로 이루어져 있습니다..

컴퓨터/MySQL 2022.04.06

MySQL (3) - DDL, DML, DCL 이란?

데이터베이스에는 다양한 명령어가 있습니다. 명령어의 구분에 대하여 알아보겠습니다. 2편에 select에 대하여 기능적인 설명을 하였으나 이 개념은 설명이 필요해 이렇게 적습니다. (중요한 개념인데 이제 설명을 하네요...) 여기서는 간략하게 설명하려고 합니다. DDL DDL은 Data Definition Language의 약자로 한글로 데이터 정의어라고 합니다. 데이터의 구조를 정의하는 데 사용하는 명령어 (생성, 변경, 삭제, 이름변경)등을 하기 위한 명령어입니다. Create - 테이블을 생성한다. Alter - 테이블을 수정한다. Drop - 테이블을 삭제한다. Rename - 테이블의 이름을 변경한다. Truncate - 테이블 안에 있는 데이터를 전체 삭제한다. (Drop과 다르게 테이블은 유지..

컴퓨터/MySQL 2022.03.24

MySQL (2) - 정보를 탐색해보자 (Select)

MySQL에서 다른 문법도 엄청나게 많지만 가장 주요하다고 생각하는 Select문에 대하여 알아보도록 하겠습니다 Select란? SQL에서 가장 기본적인 기능 중 하나는 해당 데이터를 찾아보는 것입니다. 해당 테이블에서 모든 정보를 찾을 수도 있지만 조건을 줄여서 상세한 정보도 찾을 수 있습니다. 이번에는 간단하게 Select를 이용하여 여러 가지 정보를 찾아보는 시간을 가져보도록 하겠습니다. ※mytable이 있다고 가정하고 계속 진행하겠습니다 ※가칭으로 table의 값을 구성하였습니다. 처음의 값을 기점으로 어떤 변화가 있는지 보시면 될 것 같습니다. select * from mytable; class name price score 1 minsu 1500 30 1 minji 3400 23 2 mins..

컴퓨터/MySQL 2021.12.07

MySQL (1) - DBMS는 무엇인가

개요 저는 처음에 DBMS라는 개념에 대하여 많이 얕보았습니다. 일반적인 규모에서는 엑셀과의 연동 정도면 충분하게 정리가 끝납니다. 하지만 사이트가 커지고, 규모가 커지면 엑셀 등의 파일 정도 DBMS는 여러 가지 한계를 가지게 됩니다. 이러한 이유를 통해 이번에는 우리가 DBMS가 왜 중요한지를 배워야 하는 이유를 한번 적어보려고 합니다. *이번 글은 개인적인 의견이 포함할 수 있습니다 DB와 DBMS 위에서도 DBMS를 언급하였으나 DBMS를 알기 위해 먼저 DB를 알아야 합니다 우선 Data는 정보들을 이야기합니다. DB는 Database의 약자로 통합적으로 관리되는 데이터들의 집합체들을 말합니다. 하지만 데이터만 있으면 어떻게 수많은 정보들만 있지 알 수 없습니다. 그렇기 위해 우리는 DBMS를 ..

컴퓨터/MySQL 2021.09.19