SQL Query 정리 (DB, Table)

귀찮Lee·2022년 6월 12일
0

DataBase / MySQL

목록 보기
12/16

◎ DB, Table 생성 명령어

  • 데이터베이스 생성

    CREATE DATABASE DBname;
  • 데이버 베이스 사용

    • DB를 사용해 테이블을 만들거나 수정하거나 삭제하는 등의 작업을 하려면, 먼저 데이터베이스를 사용하겠다는 명령을 전달해야 함
    • 쉽게 말하면 DB를 건들 때, 가장 위에 이 명령어 필요
    USE DBname
  • 테이블 생성

    • PRIMARY KEY : 해당 row를 구분하는 key값
    • AUTO_INCREMENT : (PRIMARY KEY 등을) 자동 생성
    CREATE TABLE TableName (
    -- ColumnName property 나머지 순
    id int PRIMARY KEY AUTO_INCREMENT,
    name varchar(255),
    email varchar(255)
    );
  • 테이블 정보 확인

    DESCRIBE TableName
    -- 출력 정보 예시
    mysql> describe user;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type         | Null | Key | Default | Extra          |
    +-------+--------------+------+-----+---------+----------------+
    | id    | int          | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(255) | YES  |     | NULL    |                |
    | email | varchar(255) | YES  |     | NULL    |                |
    +-------+--------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)

◎ Table 설정 & 변경 명령어

  • Foreign key 등록

    -- 테이블 만들 떄, 등록 하는법 
    CREATE TABLE Orders(
        OrderID int NOT NULL,
        OrderNumber int NOT NULL,
        PersonID int,
        PRIMARY KEY (OrderID),
        FOREIGN KEY (PersonID) REFERENCE Persons(PersonID)  
    )
    
    -- 테이블 만들고 나서, 등록 하는법 
     ALTER TABLE Orders ADD FOREIGN KEY (PersonID)
     REFERENCES Persons (PersonID);
    
  • Primary key 여러개 지정

    -- 테이블 만들 떄, 여러개 등록 가능
    CREATE TABLE Orders(
        OrderID int NOT NULL,
        OrderNumber int NOT NULL,
        PersonID int,
        PRIMARY KEY (OrderID, OrderNumber),
        FOREIGN KEY (PersonID) REFERENCE Persons(PersonID)  
    )
  • Table 정보 변경

    -- 테이블 삭제
    DROP TABLE Orders
    
    -- 칼럼 변경
    ALTER TABLE Orders ALTER COLUMN PersonNum varchar(255) NOT NULL;
    
    -- 새로운 칼럼 추가
    ALTER TABLE Orders ADD PersonNum int NOT NULL;
    
    -- 칼럼 삭제
    ALTER TABLE Orders DROP COLUMN PersonNum;

◎ 참고 자료

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글