본문 바로가기
DB/MY-SQL

MYSQL - DDL DML 예제

by ahhang0k 2021. 5. 26.

-- DDL(데이터 정의어)

1. 다음과 같은 속성을 가진 NewBook 테이블을 생성하시오. 도서번호를 기본키로 한다. bookname과 publisher는 NULL값을 가질 수 없고, price 값은 입력되지 않으면 기본 값 10000을 지정한다.

bookid(도서번호) - INT

bookname(도서이름) - VARCHAR(20)

publisher(출판사) - VARCHAR(20)

price(가격) - INT

 

CREATE TABLE NewBook(bookid INT, bookname VARCHAR(20) NOT NULL, publisher VARCHAR(20) NOT NULL , price INT DEFAULT 10000 , PRIMARY KEY(bookid));

 

2. 다음과 같은 속성을 가진 NewCustomer테이블을 생성하시오

custid(고객번호) - INT, 기본키

name(이름) - VARCHAR(20)

address(주소) - VARCHAR(40)

phone(전화번호) - VARCHAR(20)

 

CREATE TABLE NewCustomer(custid INT, name VARCHAR(20), address VARCHAR(40), phone VARCHAR(20), PRIMARY KEY(custid));

 

3. 다음과 같은 속성을 가진 NewOrders 테이블을 생성하시오

orderid(주문번호) - INT, 기본키

custid(고객번호) - INT, NOT NULL, 외래키(NewCustomer.custid)

bookid(도서번호) - INT, NOT NULL

saleprice(판매가격) - INT

orderdate(판매일자) - DATE

 

CREATE TABLE NewOrders(orderid INT, custid int NOT NULL, bookid  INT NOT NULL, saleprice INT, orderdate DATE, PRIMARY KEY(orderid), FOREIGN KEY(custid) REFERENCES newCustomer(custid) ON DELETE CASCADE);

 

4. NewBook 테이블에 VARCHAR(10)의 자료형을 갖는 isbn 속성을 추가하시오.

ALTER TABLE NewBook ADD isbn VARCHAR(10);

 

5. NewBook 테이블의 isbn 속성의 데이터 타입을 int형으로 변경하시오

ALTER TABLE NewBook ALTER COLUMN isbn INT;

 

6. NewBook 테이블의 isbn 속성을 제거하시오.

 ALTER TABLE NewBook DROP COLUMN isbn;

 

7. NewBook 테이블의 bookid 속성에 NOT NULL제약조건을 적용하시오.

ALTER TABLE NewBook ALTER COLUMN bookid INT NOT NULL;

 

8. NewBook 테이블의 bookid 속성의 기본키 설정을 제거하시오

ALTER TABLE NewBook DROP PRIMARY KEY;

 

9. NewBook 테이블의 bookid 속성을 기본키로 변경하시오.

ALTER TABLE NewBook ADD PRIMARY KEY (bookid);

 

10. NewBook 테이블을 삭제하시오.

 DROP TABLE newbook;

 

11. NewCustomer 테이블을 삭제하시오. 만약 삭제가 거절된다면 원인을 파악하고 관련된 테이블을 같이 삭제하시오.

drop table neworders;

drop table newcustomer;

 

-- DML(데이터 조작어)

1. Book 테이블에 새로운 도서 ‘sports'을 삽입하시오. hansol 출판사에서 출간했으며 가격은 9000원 이다.

 insert into Book(bookid, bookname, publisher, price) values (11, 'sports', 'hansol', 9000);

2. 수입도서 목록(Imported_book)을 Book 테이블에 모두 삽입하시오.

INSERT INTO Book(bookid, bookname, price, publisher) (SELECT bookid, bookname, price, publisher FROM Imported_book);

3. Customer 테이블에서 고객번호가 5인 고객의 주소를 busan으로 변경하시오.

UPDATE Customer SET address='busan' WHERE custid=5;

4. Customer 테이블에서 고객번호가 5인 고객을 삭제하시오.

DELETE FROM Customer WHERE custid=5;

5. 테이블은 남기고 모든 고객정보를 삭제하시오.

DELETE FROM Customer;

'DB > MY-SQL' 카테고리의 다른 글

DB  (0) 2021.05.31
MYSQL 테이블과 도식화  (0) 2021.05.27
MYSQL - DDL, DML?  (0) 2021.05.26
MYSQL 많이 사용하는 함수  (0) 2021.05.26
MYSQL - Select문, 서브쿼리 기본 예제  (0) 2021.05.25

댓글