DBMS - 테이블 생성과 수정, 데이터 CRUD

RYU·2025년 4월 12일

DBMS

목록 보기
4/9

전체 데이터베이스 리스팅

SHOW  DATABASES;

'DB이름' 데이터 베이스 선택

USE `mysql`;

특정 테이블의 구조

DESCRIBE `user`;
or
DESC `user`;

기존에 'DB이름' 데이터베이스가 존재한다면 삭제

DROP DATABASE IF EXISTS `a1`;

새 데이터베이스 생성

CREATE DATABASE `a1`;

테이블 확인

SHOW TABLES;

  • a1을 생성하여 다시 테이블을 확인하면 a1이 추가된 걸 볼 수 있다.

게시물 테이블 만들기

CREATE TABLE 테이블명 (
);

CREATE TABLE article(
title VARCHAR(100),
`body` TEXT
);

테이블이 추가되었는지 확인(리스팅과 구조까지 확인)

DESC article;

데이터 추가

INSERT INTO article (테이블 명)
SET title = '제목',
`body` =' 내용';

데이터 조회

# 데이터 전체 조회 (*)
SELECT * FROM article;
# 데이터 조회(title)
SELECT title FROM article; 
# 데이터 조회 (`body`, title)
SELECT `body`, title FROM article;

테이블 구조 수정(id 칼럼 추가)

ALTER TABLE article ADD COLUMN id INT(10) FIRST;	
# id에 해당하는 데이터 타입과 칼럼 중에 맨 앞에 놓고 싶어 FIRST 사용

  • id 칼럼이 생성되면서 id 값을 주지 않았기에 NULL이라 되어 있는걸 알 수 있다.

기존 데이터에 id값 추가

UPDATE article
SET id = 1	
WHERE id IS NULL;	# id값이 NULL인 곳에 id값을 1로 설정

데이터를 조회하면

  • id값이 null에서 1로 모두 수정된 걸 볼 수 있다.
  • 다른 하나를 2로 변경하고 싶다면, UPADATE문을 사용하고 하나의 값에만 2를 주고 싶다면 LIMIT 1을 하면 된다.
UPDATE article
SET id = 2
LIMIT 1;

2번 게시물 삭제(3번 게시물 추가한 상태)

DELETE FROM article(테이블 명)
WHERE id = 2; (조건식)

날짜 칼럼 추가

ALTER TABLE article ADD regDate DATETIME AFTER id;	
  • 칼럼을 첫번째 위치로 지정할때만 FIRST를 사용하고, 그 외에는 AFTER '칼럼명' 을 사용하면 된다.

  • regDate 칼럼만 추가했기 때문에 NULL값으로 나온다.

1번 게시물의 regDate 정보 채우기

UPDATE article
SET regDate = '2018-08-10 15:00:00'		# 내가 날짜 지정
WHERE id =1;

3번 게시물의 regDate (현재 날짜) 정보 채우기

UPDATE article
SET regDate = NOW()
WHERE id =3;
  • 현재 날짜 및 시간을 넣고 싶다면 NOW()함수를 사용하면 된다.


처음 SQL을 접해봐서 문법들을 하나도 모르겠지만 어떤 상황에서 어떤 문법을 사용해야 하는지 연습하면서 이해하고 외워야겠다. 자바보다는 쉬운것 같기도..?

0개의 댓글