[2주차] 관계DBMS 개념1 - 테이블 & CRUD 쿼리

매빈·2023년 3월 17일
0

DATABASE 1&2

목록 보기
2/3
post-thumbnail

시작 전에!


  • db 접속하기

    cd /usr/local/mysql/bin
    ./mysql -unroot -p
    [비밀번호 입력]
  • db server 접속

    use [database 이름] // 나는 dbstudy로 설정함

1. MySQL 테이블 생성하기


1. Create table
CREATE TABLE topic (
    id INT(11) NOT NULL AUTO_INCREMENT, // 자동으로 부여, 증가되는 수
    title VARCHAR(100) NOT NULL, // 100자까지만 저장하고, 그 이후는 잘림
    description TEXT NULL, // 값이 없어도 괜찮음.
    created DATETIME NOT NULL,
    author VARCHAR(15) NULL,
    profile VARCHAR(200) NULL, 
    PRIMARY KEY(id) // 겹치지 않는 값을 가진다는 뜻으로 알아두기
);

[결과 사진]


- DB의 기능: 컬럼의 데이터 타입을 지정할 수 있다(유저들이 기상천외한... 형태로 많이 입력하기 때문 - int/varchar의 종류: big~, long~으로 시작하는 값들은 큰 값을 저장하는데 용이할 수 있지만 차지하는 용량이 크기 때문에 남용하면 안됨.
  • VARCHAR: VAR(various)+CHAR(charicter)
  • PRIMARY KEY
    - 성능적 측면
    - 중복을 방지하는 측면: 값이 중복되면 안 되는, 고유한 컬럼에 사용해야 함.

2. CRUD


  • Create / Read : DB에서 반드시 가지고 있는 기능
  • Update / Delete: DB에 없을 수도 있는 기능
    ➡️ 역사, 회계 등에서는 수정과 삭제가 죄악시 되기 때문임.

3. INSERT


[DB table 확인하기]

INSERT INTO dbstudy (title, description, description, created, author, profile) VALUES('EFUB', 'EFUB is ...', NOW(), 'aoqlsdl', 'student');
  • NOW(): 자동으로 현재 시간을 입력해줌

[실행 결과]

4. SELECT


위에서 먼저 사용했듯이(...) `SELECT FROM [table 이름]`을 기본으로 응용하면 됨.
  • 일부 컬럼만 골라서 조회

  • 특정한 값을 가진 데이터만 조회: WHERE

  • 조회값을 오름/내림차순으로 정렬: ORDER BY [컬럼명] DESC

  • 조회값을 n개로 한정: LIMIT [n]

➕ MySQL 쿼리문을 작성하기 위해서는 맥락적으로 필요한 구문을 찾아내는 능력이 가장 중요함

5. UPDATE


UPDATE topic SET description='EFUB is ...', title='EFUB-BE' WHERE id=1;

[실행 결과]

⭐️ 수정시, WHERE을 생략하면 모든 데이터가 바뀌어버리는(..) 대참사가 일어날 수 있으니 반드시 주의할 것!

6. DELETE


DELETE FROM topic WHERE id=2;

⭐️ 마찬가지로, WHERE을 생략하면 모든 데이터가 삭제됨......... 인생이 무료하고 회사로부터 고소 당하고 싶다면 WHERE 생략하기 .. ㅋ

수강 내역


짧은 회고


  • MySQL 쿼리문을 작성할 때 가장 중요한 건 역시 구글링 실력이라는 걸 다시금 깨달았다..^^ 당장 회사 프로젝트에 필요해서 구글링해가며 쿼리문을 작성했던 기억이 있는데, 그렇게 해도 일단은 괜찮았던 거라는 생각이 들었음.
  • DB에 대한 기본적인 정보(비번, db server명, table명 등,,,)를 잘 기억해두자 ➡️ 고작 일주일 지났다고 다 까먹은 사람^^

0개의 댓글