풀스택과정 DB - DBMS | MySQL | 계정/테이블/데이터 넣기 | 기본 CRUD
💡 2025 05 15
1. DBMS
2. MySQL
3. 계정, 테이블, 데이터 넣기
4. 기본 CRUD
DBMS
VO + DAO = model
row/column으로 쪼갤 수 있는 데이터 : 정형 데이터
소리, 이미지, 자연어 : 비정형 데이터 → sql로 표현 X
https://code-angie.tistory.com/158
위 블로그 내용대로 mysql 설치 후
환경변수에서 Program Files/MySQL/MySQL Server 8.0/ bin 경로를 설정
cmd에서 mysql -u root -p 하고 비번 입력하면 들어가진다.
CREATE database DB명
show databases;하면 아래 그림처럼 보인다..
use mysql; 로 사용할 DB를 설정해준다.
desc 테이블;
exit;
mysql> CREATE TABLE mytable(
-> id int(3) primary key, // 기본키 3자리수 int id 생성
-> name varchar(10) not null, // null X, String 10자까지 생성
-> age int(3));
Query OK, 0 rows affected, 2 warnings (0.02 sec)
PK로 잡은 컬럼 값 : null X + 중복X(unique)
desc 테이블 : 제약 조건까지 확인 가능
sql문
- 삽입
INSERT INTO mytable (id, name, age) VALUES (1, 'James', 25);
행, row, Record, Tuple
열, column, Attribute, 속성
- 조회
SELECT 컬럼 FROM mytable;
컬럼 부분에 * 를 하면 컬럼 전체를 말 함.
SELECT * FROM mytable ← 이렇게 하면 절대 안 된다!
SELECT id, name, age FROM mytable; ← projection(디스플레이 하고자 하는 컬럼을 select절에 명시)
❓ 왜 후자가 더 좋은가?
- 의도치 않은, 보안상 우려가 되는 값도 노출되어 위험하다.
- 속도, 성능이 좋아짐 ⭐
+ 절마다 엔터가 예의 !
WHERE age=25 → selection : 원하는 레코드만 가져옴, 행을 제한 !
서버 실행 순서가 정말 중요하다.
가장 먼저 실행해야 하는 절은 FROM(테이블) !
FROM → WHERE → SELECT → 내부 처리 순서임 !
레코드를 먼저 제어하는 것이 성능 면에서 큰 차이가 난다.
- 추가
ALTER TABLE mytable ADD COLUMN hiredate date;
date: 날짜 타입
ALTER TABLE 테이블명
- 업데이트
UPDATE mytable SET age=50 WHERE id=2;
- 삭제
DELETE FROM mytable where id=3;
drop database test;
RDBMS
관계형 데이터베이스
관계가 있다 라는 말
- 한 명의 직원은 하나의 부서에 소속되어 있다.
- 하나의 부서에는 여러 명의 직원으로 구성되어 있다.