반응형

모든 데이터베이스 보기

SHOW DATABASES;

모든 데이터베이스를 보여줍니다.

데이터베이스 생성하기

# create database 데이터베이스명;
CREATE DATABASE blogdb;

blogdb 자리에는 생성할 데이터베이스의 이름을 넣어주면 됩니다.

blogdb라는 이름의 데이터베이스가 정상적으로 생성이 되었습니다.

데이터베이스 사용하기

# USE 데이터베이스명;
USE blogdb;

테이블 생성하기

# CREATE TABLE 테이블명(
    필드명 자료형(크기) NOT NULL AUTO_INCREMENT,
    필드명 자료형(크기),
    필드명 자료형(크기),
    PRIMARY KEY(id)
);
CREATE TABLE blog (
 id INT NOT NULL AUTO_INCREMENT,
 title VARCHAR(20),
 author VARCHAR(20),
 date Date,
 PRIMARY KEY(id)
);

id 필드는 생성할 때 AUTO_INCREMENT로 자동 증가하도록 설정해주었고 PRIMARY KEY로 지정해주어 중복이 되지 않도록 지정해주었습니다.

Query OK를 보아 정상적으로 테이블이 생성된 것을 알 수 있습니다.

모든 테이블 보기

SHOW TABLES;

SHOW TABLES 명령어를 통해 현재 사용하고 있는 데이터베이스(위에서 USE blogdb를 해주었기 때문에 현재 blogdb를 사용 중)에 있는 모든 테이블을 보여줍니다. 현재 상태로는 방금 생성한 blog라는 테이블만 존재합니다.

blogdb 안에 blog 테이블이 존재합니다! 다른 테이블들도 존재한다면 같이 출력될 것입니다.

테이블 구조 보기

# DESC, DESCRIBE, EXPLAIN 테이블명;
DESC blog;
DESCRIBE blog;
EXPLAIN blog;

DESC, DESCRIBE, EXPLAIN 중 택1을 하고 테이블명을 사용하면 그 테이블의 구조를 확인할 수 있습니다.

 

 테이블에 데이터 삽입(추가) 하기

테이블의 전체 컬럼에 데이터 추가하기

# INSERT INTO 테이블명 VALUES(필드1에 해당하는 값, 필드2에 해당하는 값, 필드3에 해당하는 값...);
INSERT INTO blog VALUES(0, "콩쥐팥쥐", "알수없음", "2021-10-10");

INSERT INTO 를 이용하여 전체 컬럼에 데이터를 추가하였고 테이블의 모든 데이터를 볼 수 있는 SELECT * FROM 테이블명; 명령어를 통해 데이터가 정상적으로 들어간 것을 확인할 수 있습니다.

테이블의 일부 컬럼에 데이터 추가하기

# INSERT INTO 테이블명 (필드명1, 필드명2, 필드명3...) VALUES("데이터1", "데이터2", "데이터3"...)
INSERT INTO blog (title, author, date) VALUES("날파리", "알수없음", "2020-07-10");

id는 AUTO_INCREMENT, PRIMARY KEY로 설정하였기 때문에 자동 증가하게 됩니다. id를 제외한 나머지 필드에 값을 입력해보겠습니다.

데이터는 정상적으로 들어갔지만 id의 값이 1에서 1이 증가한 값이 2라고 생각했지만 14로 저장되어있습니다. 

왜냐하면 제가 이 부분을 캡쳐하기 전에 이미 여러 데이터를 넣고 지우면서 id의 AUTO_INCREMENT가 13까지 올라간 상태이기 때문입니다. 

AUTO_INCREMENT 초기화(변경)하기

AUTO_INCREMENT를 초기화/변경 하기 위해서는 변경할 AUTO_INCREMENT의 값이 해당  컬럼에서 가장 큰 값보다 커야 합니다. 현재 상태에서는 1, 14가 존재하기 때문에 14보다 큰 15 이상으로 변경해야 합니다. id가 2부터 증가하게 만들고 싶기 때문에 우선 id가 14인 부분을 DELETE 명령어를 사용하여 지워주도록 하겠습니다.

DELETE FROM blog where id=14;명령어로 blog테이블에 있는id가 14인 데이터를 삭제해주었습니다.

SELECT를 사용하여 정상적으로 데이터가 삭제된 것을 확인할 수 있습니다.

# ALTER TABLE 테이블명 AUTO_INCREMENT=변경할 숫자;
ALTER TABLE blog AUTO_INCREMENT=2;

현재 테이블에서 가장 큰 id컬럼의 값이 1이기 때문에 2 이상으로 변경해줄 수 있습니다. ALTER TABLE blog AUTO_INCREMENT=2; 명령어를 사용하여 변경해준 뒤 다시 데이터를 넣고 확인해보겠습니다.

AUTO_INCREMENT 가 정상적으로 변경되어 id가 2로 자동생성된 것을 볼 수 있습니다.

 

테이블에 있는 데이터 수정하기

데이터 전체 수정하기

#UPDATE blog SET 컬럼명 = "수정할 값";
UPDATE blog SET title = "수정된 책이름";

UPDATE blog SET title = "수정된 책이름"; 명령어를 사용하여 blog 테이블에 있는 모든 데이터의 title이라는 컬럼의 값을 "수정된 책이름"으로 변경하였습니다. 

데이터 일부 수정하기

where로 조건을 걸어서 조건에 부합하는 항목의 데이터만 변경하도록 할 수 있습니다.

#UPDATE blog SET 컬럼명 = "수정할 값" WHERE 조건문;
UPDATE blog SET title = "다시 생파리" WHERE id=2;

UPDATE blog SET title = "다시 생파리" WHERE id=2; 조건문을 사용하여 blog 테이블에서 id가 2인 데이터의 title을 "다시 생파리"로 변경해주었습니다.

id가 2인 데이터의 title만 다시 생파리로 바뀐 것을 볼 수 있습니다.

테이블에 있는 데이터 삭제하기

데이터 일부 삭제하기

# DELETE FROM 테이블명 WHERE 조건문;
DELETE FROM blog WHERE id = 2;

DELETE FROM blog WHERE id = 2; 를 이용하여 blog 테이블에 있는 id가 2인 데이터를 삭제해보겠습니다.

id가 2인 데이터가 삭제된 것을 볼 수 있습니다. 아래에서 데이터 전체 삭제를 설명하기 위하여 INSERT를 이용하여 약간의 데이터를 추가해주겠습니다.

두 가지의 데이터를 추가해주었는데 id가 2부터 시작되는 것이 아니라 3부터 시작하여 증가하는 모습을 볼 수 있습니다. 이유는 id가 이미 2인 데이터가 생성되었기 때문에 AUTO_INCREMENT가 3부터 시작하기 때문입니다.

데이터 전체 삭제하기

# DELETE FROM 테이블명;
DELETE FROM blog;

DELETE FROM blog; 를 사용하여 blog 테이블의 전체 데이터를 삭제할 수 있습니다.

정상적으로 전체 데이터가 삭제된 것을 볼 수 있습니다.

 

데이터 조회 설명을 위해 데이터를 추가해주겠습니다. AUTO_INCREMENT를 수정하여 id가 1부터 증가하도록 만들었습니다.

테이블에서 데이터 조회(검색)하기

테이블의 전체 데이터 조회하기

# SELECT * FROM 테이블명;
SELECT * FROM blog;

위에서 이미 몇 차례 사용하였지만 SELECT * FROM blog; 명령어로 blog테이블의 전체 데이터를 조회할 수 있습니다

INSERT로 데이터를 추가하고 SELECT로 데이터를 조회한 모습입니다. *는 전체라는 뜻 입니다. blog의 전체 데이터를 확인할 수 있습니다.

특정한 조건에 부합하는 데이터만 조회(검색)하기

# blog 테이블에서 title 필드값만 조회
# SELECT 필드명 FROM 테이블명
SELECT title FROM blog;

SELECT title FROM blog; 명령어로 blog 테이블에서 title 컬럼의 전체 값을 조회할 수 있습니다.

# blog 테이블에서 id가 1보다 큰 데이터 전체조회
# SELECT * FROM 테이블명 WHERE 조건식;
SELECT * FROM blog WHERE id>1;

SELECT * FROM blog WHERE id>1; 명령어를 이용하여 blog 테이블에서 id가 1보다 큰(2 이상) 데이터들의 전체 정보(*)를 조회할 수 있습니다.

 
# blog 테이블에서 id가 1보다 데이터의 author 필드만 조회
# SELECT 필드명 FROM 테이블명 WHERE 조건식;
SELECT author FROM blog WHERE id>1;

위의 두 가지를 적절히 섞어 원하는 조건에 부합하는 원하는 필드만 조회할 수도 있습니다.

SELECT author FROM blog WHERE id>1; 명령어를 사용하여 blog 테이블에서 id가 1보다 큰 데이터의 author 필드만 조회할 수 있습니다.

테이블명 수정하기

# ALTER TABLE 테이블명 RENAME 바꿀테이블명;
ALTER TABLE blog RENAME newblog;

ALTER TABLE blog RENAME newblog; 명령어를 사용하여 blog 테이블명을 newblog로 바꾸었습니다.

정상적으로 테이블명이 바뀌고 blog 테이블명은 더 이상 존재하지 않게됩니다.

 테이블에 필드 추가하기

# ALTER TABLE 테이블명 ADD 필드명 필드타입;
ALTER TABLE newblog ADD pages int;

ALTER TABLE newblog ADD pages int; 명령어를 사용하여 newblog 페이지에 pages라는 int 타입의 필드를 추가하였습니다.

 

pages필드가 추가된 것을 확인할 수 있습니다. 기본적으로 NULL로 생성되었습니다.

테이블에 있는 필드 수정하기

필트 타입만 수정하기

# ALTER TABLE 테이블명 MODIFY 필드명 필드타입;
ALTER TABLE newblog MODIFY pages LONG;

ALTER TABLE newblog MODIFY pages LONG; 명령어를 이용하여 pages 필드의 타입을 int에서 long으로 변경하였습니다.

필드 수정하기(필드명, 필드 타입)

# ALTER TABLE 테이블명 CHANGE 필드명 새필드명 새필드타입;
ALTER TABLE newblog CHANGE pages price INT;

ALTER TABLE newblog CHANGE pages price INT; 명령어를 이용하여 long 타입의 pages 필드를 int 타입의 price로 변경하였습니다.

필드 삭제하기

# ALTER TABLE 테이블명 DROP 필드명;
ALTER TABLE newblog DROP price;
;ALTER TABLE newblog DROP price; 명령어를 사용하여 newblog 테이블에 있는 price 필드를 삭제하였습니다.
 

테이블 삭제하기

# DROP TABLE 테이블명;
DROP TABLE newblog;
DROP TABLE newblog; 명령어를 사용하여 newblog 테이블을 삭제하였습니다.
 

테이블이 정상적으로 삭제되어 조회가 되지 않는 모습입니다.

데이터 베이스 삭제 명령어

# DROP DATABASE 데이터베이스명;
DROP DATABASE blogdb;

DROP DATABASE blogdb; 명령어를 사용하여 blogdb 데이터베이스를 삭제하였습니다.

blogdb 데이터베이스가 정상적으로 삭제되어 SHOW DATABASES를 사용하여도 확인되지 않는 모습입니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기