MySQL 21

[MySQL] 관계 차수란

관계 차수(Relation Degree)는 관계형 데이터베이스에서 사용되는 용어로 테이블 간의 관계를 설명할 때는 '일대일', '일대다', '다대다' 같은 관계를 설명하는 용어이다.‼  혼동하지 말자.  ‼테이블 차수 - 테이블 내의 컬럼 수를 나타낸다.관계 차수 - 두 테이블 간의 관계의 복잡성(예: 일대일, 일대다, 다대다)을 나타낸다.💡테이블 간의 관계를 정의하는 방식에는 주로 네 가지 유형이 있다. 1:1 관계 (One-to-One Relationship) 두 개의 테이블에서 각각 하나의 레코드가 서로 직접 매칭되는 관계이다.이 관계는 보통 서로 다른 테이블의 기본키와 외래키를 사용하여 연결한다.예: 사용자 테이블과 사용자 상세 정보 테이블, 여기서 각 사용자는 상세 정보와 정확히 하나씩 연결된..

MySQL/MySQL 기본 2024.06.05

[MySQL] MySQL에서 인덱스(index)란

MySQL에서 인덱스(index)는 데이터베이스 테이블의 검색 성능을 향상시키기 위해 사용되는 데이터 구조이다.인덱스는 특정 열(Column)에 대한 정렬된 데이터 집합으로, 데이터베이스 엔진이 더 빠르게 데이터를 찾을 수 있도록 도와줍다. 인덱스는 일종의 색인이며, 테이블의 특정 열에 대한 빠른 검색을 가능하게 한다.인덱스를 사용하면 데이터베이스 엔진은 테이블을 전체적으로 스캔하는 것보다 더 빠르게 특정 조건에 맞는 행을 찾을 수 있다. 인덱스를 선언하는 방법 -- 테이블 설계시에 인덱스 제약을 추가 하는 방법 create table student2( id int primary key, name varchar(50) not null, grade int not null, major va..

MySQL/MySQL 기본 2024.06.04

[MySQL] UNIQUE 제약에 이해

UNIQUE key는 데이터베이스 테이블의 열(Column)에 적용되는 제약 조건이다. 이를 통해 해당 열의 값들이 고유(unique)하다는 것을 보장한다. 즉, 중복된 값이 허용되지 않는다.또한 UNIQUE 제약 조건은 데이터베이스에서 인덱스(index)를 생성할 때도 사용된다. UNIQUE 제약 조건이 설정된 열은 인덱스를 생성할 때 자동으로 인덱스로 지정되어 검색 속도를 높일 수 있다.  UNIQUE Key의 특징 고유한 값 보장: 특정 열에 UNIQUE key가 적용되면 해당 열에 있는 모든 값들이 고유해야 한다. 즉, 중복된 값을 허용하지 않는다.NULL 값 허용: 기본적으로 UNIQUE key는 NULL 값을 허용한다. 즉, 해당 열에는 NULL 값이 최대 하나까지만 허용된다. (MySQL에서..

MySQL/MySQL 기본 2024.06.04

[MySQL] DELETE 구문과 조건절

DELETE 구문은 특정 테이블에서 특정 조건을 만족하는 행을 삭제하는 데 사용된다. DELETE 구문을 사용할 때는 삭제할 행을 신중하게 선택해야 한다. DELETE 구문을 사용하여 데이터를 삭제하면 복구하기 어렵거나 불가능할 수 있다. 따라서 DELETE 구문을 사용하기 전에 데이터를 백업하거나, 테스트용 데이터를 사용하거나, WHERE 절을 사용하여 조건을 만족하는 행을 선택하는 데 주의해야 한다.-- member 테이블에서 id가 3인 행 삭제DELETE FROM member WHERE id = 3;-- member 테이블에서 gender가 'F'이고 age가 20보다 큰 행 삭제DELETE FROM member WHERE gender = 'F' AND age > 20;샘플 데이터CREATE TA..

MySQL/MySQL 기본 2024.06.04

[MySQL] UPDATE 구문과 조건절

UPDATE 구문은 이미 존재하는 테이블의 레코드를 수정하는 명령문이다. 이 구문은 WHERE 절을 포함하여 사용된다. WHERE 절을 사용하여 특정 조건에 해당하는 레코드만 수정할 수 있다.UPDATE 구문은 다음과 같은 형식으로 작성한다.💡 UPDATE [테이블 이름]SET [칼럼 이름1] = [새로운 값1], [칼럼 이름2] = [새로운 값2], ...WHERE [조건];위의 구문에서 SET 절은 테이블의 특정 칼럼 값을 변경하는 부분이다. WHERE 절은 조건에 해당하는 레코드만 변경할 수 있도록 필터링 한다.예를 들어, student 테이블에서 grade 가 2 인 학생들의 major 값을 '전자공학과' 로 변경하려면 다음과 같이 작성할 수 있다.💡 UPDATE student SET majo..

MySQL/MySQL 기본 2024.06.04

[MySQL] SELECT 구문과 조건절

-- student 샘플 데이터 INSERT INTO student (student_id, name, grade, major)VALUES (2, '박영희', 2, '경영학과'), (3, '이민수', 4, '전자공학과'), (4, '홍길동', 1, '디자인학과'), (5, '임성민', 3, '컴퓨터공학과'), (6, '한지원', 2, '경영학과'), (7, '박준형', 4, '전자공학과'), (8, '김민지', 1, '디자인학과'), (9, '이현수', 3, '컴퓨터공학과'), (10, '정미경', 2, '경영학과'), (11, '김성진', 4, '전자공학과'), (12, '임승환', 1, '디자인학과'); 조건절이란 (WHERE)MySQL에서 WHERE 절은 SELECT, UPDATE..

MySQL/MySQL 기본 2024.06.04

[MySQL] INSERT 구문과 제약 사항

-- 테이블을 삭제하는 명령 -- drop table student; -- 테이블 생성시에 디폴트 값을 제약 설정하는 방법 create table student( student_id int primary key, name varchar(50) not null, grade int not null, major varchar(50) default '미정' not null); desc student;-- 기본 문구 모양 -- INSERT INTO 테이블명(컬럼명1, 컬럼명2, ...) VALUES(값1, 값2, ...); -- INSERT INTO 테이블명 VALUES (값1, 값2, ...); - 생략 버전 insert into student(student_id, name, grade,..

MySQL/MySQL 기본 2024.06.04

[MySQL] 테이블 생성과 제약 사항 연습

데이터 베이스 생성 CREATE DATABASE [database_name]; CREATE DATABASE mydb;테이블이란- MySQL에서 테이블(table)은 데이터를 저장하는 기본적인 단위이다.- 테이블은 열(column)과 행(row)으로 이루어져 있으며, 각 열은 데이터 유형을 나타내는 데이터 형식(data type)을 가지고 있다.데이터베이스에서 테이블은 다음과 같은 정보를 포함할 수 있습니다.테이블 이름열 이름열 데이터 형식빈 값 허용 여부기본값제약 조건 (Primary Key, Unique Key, Foreign Key 등)인덱스💡 SQL (Structured Query Language)은 데이터베이스 관리 시스템 (DBMS)에서 데이터를 관리하고 검색하기 위해 사용되는 표준 데이터베이..

MySQL/MySQL 기본 2024.06.03

[MySQL] 테이블에 데이터 입력

-- 데이터 입력 하기 /* insert into usertbl(userName, birthYear, addr, mobile)values ('이승기', 1987, '서울', '011-111-1111');insert into usertbl(userName, birthYear, addr, mobile)values ('김경호', 1971, '전남', '019-333-3333');*/insert into usertbl(userName, birthYear, addr, mobile)values ('이승기', 1987, '서울', '011-111-1111'), ('김경호', 1971, '전남', '019-333-3333'), ('윤종신', 1969, '경남', ''), ('임재범'..

MySQL/MySQL 기본 2024.05.29

[MySQL] 데이터베이스 모델링

설계 도면 → 모델링 하다 장부에 고객 방문기록과 구매 이력 남기기 시나리오-- 데이터 집합 생성 create database db_tenco_market;-- 사용 use db_denco_market;-- db 삭제 명령어 -- drop database db_denco_market;-- 사전 기반 지식 : mysql 은 대소문자를 구별하지 않습니다. -- 단, 구분 하는 RDBMS 도 있습니다. -- 테이블 설계 하기 -- 고객 테이블 생성 create table userTBL( userName char(3) not null primary key, birthYear int not null, addr char(2) not null, mobile char(12));show tables;..

MySQL/MySQL 기본 2024.05.29