본문 바로가기
DataBase/MySQL

[MySQL] 테이블, 필드 데이터 다루기

by coding-choonsik 2023. 3. 15.
728x90
반응형
SMALL
create table word3 (select * from word);
select * from word3;​
create table word2(
	eng varchar(50) primary key,
    kor varchar(50) not null,
    lev int
);

1. 테이블

1-1. 테이블의 생성

✅ 단어장 테이블을 만들어보자.

use kdt;    		# 사용할 데이터베이스 선택

create table word(
	eng varchar(50) primary key,
   	kor varchar(50) not null,
   	lev int
);

desc word;    		# 테이블 확인

 

테이블 생성이 잘 되었다.


1-2. 테이블에 데이터 삽입

 

✅ 단어장 테이블에 데이터 삽입하기

  • insert into 테이블명 values (값1, 값2, 값3, ... )  : 필드 개수에 맞게
  • insert into 테이블명 (필드명1, 필드명2, 필드명3 ...) values (값1, 값2, 값3 ...)
# 1번째 방법
insert into word values ('apple', '사과', 1);
# insert into word values('banana',null,null);   -> 오류: kor 필드의 not null 제약조건

# 2번째 방법
insert into (eng, kor, lev) values ('banana', '바나나', null);

# 테이블 전체 데이터 확인
select * from word;

💡 eng 필드primary key 제약조건으로 중복값과 null값이 허용되지 않는다

kor필드not null 제약조건으로 null값이 허용되지 않는다.

 

 

✅ null값의 입력

insert into word (eng, kor, lev) values ('orange', '오렌지', 1);
insert into word (eng, kor) values ('melon', '메론');   # null값 삽입
insert into word (eng, kor) values ('cherry', '체리');

select * from word;


1-3. 테이블 삭제하기

  • drop table 테이블명: 테이블 메모리 전체를 삭제

  • delete from 테이블명: 테이블의 틀은 남아있되, 테이블의 데이터가 전체 삭제됨


1-4.  테이블 복사하기

✅ word 테이블을 복사해보자.

 

1) word와 똑같은 형태의 word2 라는 테이블을 생성하고 word에 존재하는 데이터를 모두 복사하기

create table word2(
	eng varchar(50) primary key,
    kor varchar(50) not null,
    lev int
);

insert into word2(select * from word);  -- word 테이블 전체 데이터 삽입
select * from word2;

 

2) word3  테이블 생성부터 word의 데이터를 복사하기

 


2. 필드


2-1. 테이블 필드 추가

  • alter table 테이블명 add 컬럼명 데이터타입 제약조건

✅ word 테이블에 new_word라는 필드를 추가해보자.

alter table word add new_word varchar(10);

select * from word;

new_word 필드 추가


2-2. 테이블 필드 수정

  • alter table 테이블명 modify column 컬럼명 데이터타입 제약조건

✅ word테이블에서 new_word필드의 데이터타입을 수정해보자.

alter table word modify column new_word varchar(20);   # 데이터타입을 varchar(20)으로 수정

desc word;    # 테이블 확인

 

new_word 필드 수정 전
new_word 필드 수정 후


2-3. 테이블 필드 삭제

  • alter table 테이블명 drop 컬럼명

✅ word 테이블에서 new_word 필드를 삭제해보자.

alter table word drop new_word;

select * from word;

new_word 필드 삭제됨

 

 

 

728x90
반응형
LIST