DB - 08

월요일좋아·2022년 9월 19일
0

DB

목록 보기
8/9

생성된 데이터베이스 조회

USE naver_db; -- naver_db로 이동 --

SHOW TABLES; -- 생성된 테이블 확인 --

테이블생성

  • member
-- 테이블에는 tbl을 붙여주자! :  카멜 표기법(두 단어 이상이 붙어있을때 각 단어의 첫번째 글자는 대문자) --
CREATE TABLE member( 
	mem_id CHAR(8) NOT NULL PRIMARY KEY,
	mem_name VARCHAR(10) NOT NULL,
	mem_number TINYINT NOT NULL,
	addr CHAR(2) NOT NULL,
	phone1 CHAR(3) NULL, -- null값 허용 --
	phone2 CHAR(8) NULL,
	height TINYINT UNSIGNED NULL, -- unsigned : 양수만 입력받도록 --
	debut_date DATETIME DEFAULT NOW()
)

SELECT NOW() : 현재 시스템의 날짜,시간 표시

  • buy
CREATE TABLE buy(
	num INT AUTO_INCREMENT PRIMARY KEY,
	mem_id CHAR(8) NOT NULL, -- 참조하기위해서는 연결할 id컬럼과 동일한 타입이어야 함 --
	prod_name CHAR(6) NOT NULL,
	group_name CHAR(4) NULL,
	price INT UNSIGNED NOT NULL,
	amount SMALLINT UNSIGNED NOT NULL,
	FOREIGN KEY (mem_id) REFERENCES member (mem_id)
)

테이블 삭제

제약 네임 설정 가능

설정하지 않으면 DB가 자동으로 설정해줌

테이블 컬럼 수정

  • table 탭 이용

  • ALTER 이용

-- user_id를 mem_id로 수정 -

ALTER TABLE buy
CHANGE user_id mem_id CHAR(8)

참조된 데이터 수정

UNIQUE 속성


CHECK 제약

default

  • default 설정
CREATE TABLE member ( 
  mem_id CHAR(8) NOT NULL PRIMARY KEY, 
  mem_name VARCHAR(10) NOT NULL, 
  height TINYINT UNSIGNED DEFAULT 160, 
  -- height 열에 아무것도 입력하지 않으면 160이 입력됨 --
  phone1 CHAR(3) null
);

ALTER TABLE member
	ALTER COLUMN phone1 SET DEFAULT '02'; 
    -- phone1 열에 아무것도 입력하지 않으면 '02'가 입력됨 --
  • 입력방법 1
    INSERT INTO member VALUES(열1, 열2, default, default)
INSERT INTO member VALUES('RED', '레드벨벳', 161, '054');
INSERT INTO member VALUES('SPC', '우주소녀', default, DEFAULT);
  • 입력방법 2
    DEFAULT를 안써도 되는 방식

INSERT 테이블 (열1, 열2) VALUES (데이터1, 데이터2)

INSERT member (mem_id, mem_name) VALUES ('BLK', '블랙핑크'); -- DEFAULT를 안써도 되는 방식 --

0개의 댓글