데이터베이스와 테이블

데이터베이스와 테이블의 생성

CREATE DATABASE는 데이터베이스를 만드는 명령어입니다.

워크벤치를 실행하고 commend + T를 누르게 되면 새 쿼리 탭이 생성됩니다.

처음 DB 생성전

아래의 SQL을 실행해보세요.

1
2
-- 데이터베이스 생성
CREATE DATABASE my_db;

쿼리에 작성 후 SQL을 실행하려면 commend + enter를 누르면 쿼리문이 실행됩니다.
위 코드를 실행하게되면 아래와 같이 Action 탭에 잘 실행이 되었다고 나옵니다.

하지만 바로 반영되지 않으므로 ⤹⤴︎ 새로고침 버튼을 눌러 새로고침 해주어야 합니다.

my_db라는 Database가 잘 생성된 것을 볼 수 있습니다.
CREATE TABLE은 테이블을 만드는 명령입니다. 아래 명령을 차례로 실행해보세요.

1
2
3
4
5
6
7
8
9
10
11
-- 테이블 생성
CREATE TABLE my_db.users (
-- `name`이라는 이름의 문자열 컬럼을 생성합니다. NULL을 허용하지 않습니다.
name VARCHAR(30) NOT NULL,
-- `job`이라는 이름의 문자열 컬럼을 생성합니다. NULL을 허용합니다.
job VARCHAR(30),
-- `age`라는 이름의 양수 컬럼을 생성합니다. NULL을 허용합니다.
age INTEGER UNSIGNED,
-- `name` 컬럼을 기본 키로 지정합니다.
PRIMARY KEY (name)
);

위 코드를 쿼리에 실행하게되면 다음과 같은 경로에 table이 생성됩니다.

번개모양의 표를 누르게 되면 users라는 table이 실행됩니다.

1
SELECT * FROM my_db.users;

이때 위 코드가 자동으로 쿼리에 실행되고 아래와 같은 표가 실행되게됩니다.

표만 만들고 데이터를 넣어주지 않았으므로 데이터의 값은 null입니다.

데이터 추가하기

1
2
3
4
5
6
7
8
9
-- 하나의 레코드 추가하기
INSERT INTO users (name, job, age)
VALUES ('윤민지', '프론트엔드 개발자', 32);
-- 여러 개의 레코드 추가하기
INSERT INTO users (name, job, age)
VALUES ('한주원', '프론트엔드 개발자', 39),
('박현숙', '백엔드 개발자', 48),
('정병언', NULL, 25),
('임동면', '디자이너', NULL);

위 코드처럼 data를 하나씩 넣어 줄 수 있고 여러개를 한번에 추가 할 수 있습니다.
아래 코드를 실행해보도록 하겠습니다.

코드를 실행하면 위 사진처럼 datatable에 들어가게 됩니다.
NULL값을 넣게되면 tableNULL값이 들어가게 됩니다.

데이터 불러오기

데이터를 불러올 때에는 table 전체를 불러오거나 원하는 데이터만 불러 올 수 있습니다.

1
2
-- 모든 컬럼을 포함시켜 불러오기
SELECT * FROM users;

users라는 table 전체를 불러오려면 위 코드처럼 쿼리에 작성하여 실행하면 됩니다.

그러면 위 사진처럼 table 전체가 불러와집니다.

1
2
-- 특정 컬럼만 포함시켜 불러오기
SELECT name, job FROM users;

users tablenamejob만 불러오길 원한다면 위 코드처럼 SELECTFROM사이에 원하는 column의 명을 써주면 됩니다.
위 코드를 실행해보도록 하겠습니다.

위 사진과 같이 name, job컬럼만 보여집니다.

데이터 수정하기

데이터를 수정하려면 다음과 같은 양식으로 코드를 작성해야합니다.

1
2
3
UPDATE 테이블명
SET 바꿀 컬럼명과 data
WHERE 찾을 컬럼명(data);

위와 같은 양식으로 UPDATE에서 바꾸길 원하는 table을 선택하고 WHERE에서 바꾸길 원하는 데이터를 선택하고 SET에서 바꿀 컬럼명과 data를 입력해줍니다.

처음 정병언씨는 위 사진처럼 job 컬럼에 data는 null이였습니다.

1
2
3
UPDATE users
SET job = '프로그래머'
WHERE name = '정병언';

위 코드를 실행해보도록 하겠습니다.

1
2
SELECT * FROM my_db.users
WHERE name='정병언';

위 코드로 데이터가 잘 바뀌었는지 확인해보겠습니다.

위 사진과 같이 정병언씨의 직업에 null값에서 프로그래머로 변경되었습니다.

데이터 삭제하기

원하는 데이터를 삭제 할 수 있습니다.

1
2
DELETE FROM 테이블 명
WHERE 원하는 컬럼명과 data;

DELETE FROM뒤에는 삭제하길 원하는 table을 선택하고 WHERE뒤에는 삭제하길 원하는 컬럼명과 data를 선택합니다.

위 사진처럼 정병언씨는 table에 존재합니다.

1
2
DELETE FROM users
WHERE name = '정병언';

위 코드를 실행하여 정병언씨의 데이터를 삭제해보도록 하겠습니다.

SELECT * FROM my_db.users;를 사용하여 쿼리를 실행하니 위 사진처럼 정병언씨의 data는 모두 삭제되었습니다.
data의 삭제는 행이 삭제됩니다.

데이터베이스와 테이블의 삭제

데이터 뿐만아니라 데이터베이스와 테이블 삭제가 가능합니다.
DROP DATABASE, DROP TABLE 명령은 각각 데이터베이스와 테이블을 삭제하는 명령입니다.
data를 삭제하려면 DELETE를 사용하였지만 데이터베이스와 테이블을 삭제하려면 DROP을 사용해야합니다.

테이블 삭제

1
DROP TABLE 테이블명;

table을 삭제하려면 DROP TABLE뒤에 테이블명을 입력 후 실행하면 됩니다.

users table을 삭제하기 전입니다.

1
2
-- users 테이블 삭제
DROP TABLE users;

users라는 테이블을 위 코드를 실행하여 삭제해보도록 하겠습니다.

위 코드를 실행하니 users라는 테이블이 삭제되었습니다.

데이터베이스 삭제

1
DROP DATABASE 데이터베이스 명;

Database를 삭제하려면 DROP DATABASE뒤에 데이터베이스명을 입력 후 실행하면 됩니다.

my_db database를 삭제하기 전입니다.

1
2
-- my_db 데이터베이스 삭제
DROP DATABASE my_db;

my_db라는 database를 위 코드를 실행하여 삭제해보도록 하겠습니다.

위 코드를 실행하니 my_db라는 database가 삭제되었습니다.

공유하기