본문 바로가기

bootcamp/데이터베이스

1102 -2) mysql 실습 정리

그냥 내가 시트의 주석들을 정리하고 싶어서 작성하는 글 

개념 없음

 

# web이라는 데이터 베이스를 사용하겠다는 명령어
USE web; 


# student라는 이름의 테이블을 생성

CREATE TABLE student (
name VARCHAR(10),->문자 10글자
    age INT,->숫자
    gender VARCHAR(1)-> 문자 1글자
);


# student 테이블에 addr 속성 추가
ALTER TABLE student ADD addr VARCHAR(30);

-> 테이블 추가             ->속성추가


# student 테이블에 addr 속성 제거
ALTER TABLE student DROP addr;

                                     ->제거


# student 테이블에 gender 속성을 addr로 변경
ALTER TABLE student RENAME COLUMN gender TO addr;

                                      ->속성 변경


# student 테이블에 addr 속성의 데이터 타입을 VARCHAR(30)로 변경
ALTER TABLE student MODIFY addr VARCHAR(30);

                                      ->데이터타입 변경


# student 테이블 삭제
DROP TABLE student;

->삭제

 

# 속성에 옵션 설정
CREATE TABLE student (
idx INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(10) NOT NULL,
    age INT DEFAULT 1,
    gender VARCHAR(1),
    school_idx INT,
    FOREIGN KEY (school_idx) REFERENCES school(idx)
);


# ALTER로 옵션 설정
ALTER TABLE student MODIFY gender VARCHAR(1) NOT NULL; 
# school이라는 이름의 테이블 생성
CREATE TABLE school (
idx  INT AUTO_INCREMENT PRIMARY KEY, # idx 속성에 자동 증가 옵션과 기본키 옵션 설정
name VARCHAR(20),
    addr VARCHAR(20)
);
CREATE TABLE subject (
idx INT PRIMARY KEY,
    name VARCHAR(20),
    time INT
);
CREATE TABLE register (
subject_idx INT,
    student_idx INT,
    # 현재 테이블에 있는 subject_idx라는 속성을 subject라는 테이블에 있는 idx라는 속성을 참조해서 외래키로 설정
    FOREIGN KEY (subject_idx) REFERENCES subject(idx), 
    FOREIGN KEY (student_idx) REFERENCES student(idx)
);
CREATE TABLE teacher(
idx INT auto_increment PRIMARY KEY,
    name VARCHAR(10)
);
ALTER TABLE subject ADD COLUMN teacher_idx INT;
ALTER TABLE subject ADD foreign key (teacher_idx) REFERENCES teacher(idx);
# 데이터 조회 기본 문법, school이라는 테이블에서 idx, name, addr 속성의 값을 조회
SELECT idx, name, addr FROM school;


데이터 삽입 기본 문법
INSERT INTO school (idx, name, addr) VALUES (1,'플레이 데이터','동작구');