본문 바로가기

Language/MySQL4

[MySQL]JOIN 관계형데이터베이스 데이터베이스에 이러한 테이블이 저장되어있다. 두 테이블에는 교수의 이름과 교수의 담당 전공이 중복되게 된다. 이러한 데이터 중복은 여러 가지 문제점을 일으킨다. 교수가 새로 부임하게 되어 추가하게 될 경우 교수 정보를 저장하기 위해 불필요한 학생 정보를 입력(삽입이상)해야하거나, 한 교수의 전공이 변하게 되어 특정 레코드 또는 테이블의 교수 전공을 변경했을 때, 다른 레코드나 테이블의 해당 교수의 전공과 일치하지 않거나(갱신이상), 교수가 퇴임하게 되어 교수 정보를 삭제하기 위해 학생 정보까지 함께 삭제되는 경우(삭제이상) 등의 문제점이 발생할 수 있다. 이러한 데이터 중복성 문제를 해결하기위해 관계형 데이터베이스는 정규화를 통해 하나의 테이블을 다수의 테이블로 나누게 되고, 관계를 통.. 2020. 6. 18.
[MySQL] CRUD Operation 테이블 구조 확인 DESC 테이블이름; 레코드 삽입(CREATE) INSERT INTO 테이블명 (column1, colunm2, …) VALUES(‘value1’, ‘value2’, …); INSERT INTO class (name, gender, description, enrolled) VALUES("홍길동", "남", "활발", NOW()); 레코드 검색(READ) 1) 해당 레코드의 모든 column 출력 SELECT * FROM 테이블명; SELECT * FROM class; 2) 해당 레코드의 원하는 column 출력 SELECT column1, column2, … FROM 테이블명; SELECT name, gender FROM class; 3) WHERE 조건절 SELECT column1, .. 2020. 6. 17.
[MySQL] macOS MySQL 테이블 생성/수정/삭제 Table 생성 CREATE TABLE 테이블명( 속성이름 데이터타입 {NULL | NOT NULL} 옵션 속성이름 데이터타입 {NULL | NOT NULL} 옵션 … PIMARY KEY(속성이름)); 예시 CREATE TABLE class( id INT(11) NOT NULL AUTO_INCREMENT, #학번, 정수형, NULL 값 허용하지 않음, 생성 시 value 자동 증가 name VARCHAR(100) NOT NULL, #이름, VARCHAR형, NULL값 허용하지 않음 gender VARCHAR(100) NULL, #성별, VARCHAR형, NULL값 허용 description TEXT NULL, #특징, TEXT형, NULL값 허용 enrolled DATETIME NOT NULL, #등록일.. 2020. 6. 17.
[MySQL] macOS MySQL 설치 및 실행 MySQL 설치 터미널에 '$ brew install mysql' 입력 mysql 환경변수 설정 $ export PATH=$PATH:/설치받은 MySQL이 위치하는 디렉토리 내의 bin 디렉토리의 path를 입력 ($ export PATH=$PATH:/usr/local/Cellar/mysql/8.0.19_1/bin) MySQL Server 실행 $ mysql.server start MySQL 설정 $ mysql_secure_installation 비밀번호 설정과 각 MySQL 서버의 환경설정에 대한 질문들이 나오게 됨 MySQL 로그인 $ mysql -uroot -p root 권한으로 로그인 'mysql>' 과 같이 쉘로 전환 데이터베이스 생성 $ CREATE DATABASE 베이터베이스이름; 데이터베이.. 2020. 6. 16.