02. Table

dorongpark·2022년 11월 14일
0

SQL

목록 보기
2/16

01. table 생성하기

create table tablename(
	
    col datatype,
    col2 datatype.
    ...
);

여기서 create table 생성은 데이터가 들어갈 기본 뼈대를 세워주는 일이라고 생각하면 된다. 앞으로 현재 table에 어떤 컬럼이 들어가며, 몇개의 컬럼으로 구성되어 있으며, pk,fk는 무엇이며, 컬럼의 datatype은 어떻게 될것이며 등등 framework 작업이라고 생각하면 된다.
create table 명령어를 통해 미처 설정하지 못하거나, 바꿔야 할 정보가 있다면 나중에 alter table 명령어를 사용하면 된다.


02. table 정보 확인 문법

현재 database에 생성되어 있는 table 보는 방법

show tables;

궁금한 table의 정보를 확인하는 방법 (desc = description)

desc tablenmae;


03. table 복사하기

테이블을 엉뚱한 데이터베이스에 만든 경우 다른 데이터베이스로 복사가 가능하다
예를 들어, A 데이터베이스에 있는 test 테이블을 C 데이터베이스에 복사하려고 한다면 다음과 같이 작성할 수 있다. 복사 한 후 A 데이터 베이스의 test table를 삭제해주면 된다.
이 경우는 테이블 구조만 가져오고 데이터는 가져오지 않음

mysql> create table C.test like A.test;

+) 여러 경우의 수

  1. 테이블 구조와 데이터 복사

CREATE TABLE IF NOT EXISTS 복사 테이블 SELECT * FROM 원본 테이블;

2.테이블 데이터 복사

INSERT INTO 복사 테이블 SELECT * FROM 원본 테이블;

  1. 테이블이 존재하고 데이터만 복사할 경우
    INSERT 
     INTO 복사할 TABLE명 
    SELECT *
     FROM 원본 TABLE명
  1. 테이블이 존재하고 특정 데이터만 복사할 경우(WHERE절 추가)
INSERT 
  INTO 복사할 TABLE명 
SELECT *
  FROM 원본 TABLE명
 WHERE 검색 조건 

04. table 변경 문법

4.1 table의 이름 변경 문법

mysql> alter tablename rename new_tablename;

table이름을 mytable에서 person으로 변경하기

4.2 table 컬럼 추가 문법

mysql> alter table tablename add column columnname datatype;

agee라는 새로운 컬럼을 추가하기

4.3 table 컬럼 datatype 변경 문법

mysql> alter table person modify column columnname dataype;

agee 컬럼의 datatype을 int로 변경하기

4.4 table 컬럼의 이름 변경하기 +datatype 변경가능

위의 modify명령어와 다른점은 change는 이름은 무조건 바꿔야 하며 datatype은 그대로 써주거나 변경할 수 있다는 점이다. modify는 datatype만 바꿀수 있고 명령문이 좀 더 짧다.

mysql> alter table person change column old_column_name new_column_name new_datatype;

4.5 table 컬럼 삭제 문법

table의 컬럼 삭제시에는 그냥 drop column column_name 이 아니라
앞에 table을 끼고 있기 때문에 alter table을 꼭 붙여주어야 함

mysql>alter table tablename drop column column_name;

person table의 age 컬럼 삭제


5. table 삭제하기

mysql> drop table tablename;

profile
질문 없는 성장은 없다. 3년차 데이터 분석가

0개의 댓글

관련 채용 정보