< DDL : 데이터 정의어 (create, alter, drop) >
<create 테이블 생성>
work bench가 아닌 cmd 창에서 testdb안의 tbl_user 테이블과 그 안의 정보들을 생성해 볼 것이다.
테이블을 생성할 때는 이렇게 하면 된다.
create table 테이블명( 컬럼명 자료형 제약조건, 컬럼명 자료형 제약조건, 컬럼명 자료형 제약조건, ... ); |
먼저 testdb를 사용하기 위해 use testdb;를 치고 show tables;를 치면 아무것도 없이 비어있는 것을 볼 수 있다.
여기에 tbl_user를 생성 해볼 것이다.
이렇게 코드를 치고 show tables;를 하면 tbl_user테이블이 생성된 것을 볼 수 있다.
desc tbl_user; 를 치면 tbl_user테이블 안의 정보들을 볼 수 있다.
tbl_product 테이블을 하나 더 만들어 볼 것이다.
문제1 )
테이블명 : tbl_product 컬럼종류 prod_id int primary, prod_name varchar(100) not null, prod_category varchar(10) null, prod_details varchar(1024) null, reg_date datetime not null, prod_price int not null |
<코드>
show tables;하면 testdb안에 tbl_product가 생긴 것을 볼 수 있고 desc tbl_product;하면 안에 생성한 정보들을 볼 수 있다.
<alter add, alter drop 변경>
테이블 안에 user_tel을 추가해 볼 것이다.
먼저 work bench로 가서 직접 추가해본다.
test2db의 tbl_user테이블에서 user_name 밑에 user_tel을 추가해보았다.
apply를 누르면 이렇게 화면이 뜬다. 파란색 글씨가 문법이다.
그럼 똑같이 testdb의 tbl_user테이블에 user_tel을 생성해본다.
column 추가 : alter table 테이블명 add column 컬럼명 자료형 제약조건
그러면 user_name 밑에 user_tel이 생성 된 것을 볼 수 있다.
문제2 )
tbl_product에 amount 컬럼을 int not null; 로 추가해보자.
이렇게 amount가 추가 된 것을 볼 수 있다.
<drop 삭제>
test2db에서 user_password를 삭제해 볼 것이다.
user_password에 커서를 둔 뒤 마우스 오른쪽 버튼을 눌러 delete selected를 누를 것이다.
그러면 이런 화면이 나온다.
user_password가 삭제 된 것을 볼 수 있다.
그러면 cmd창에서도 실행해보자.
column 삭제 : alter table 테이블명 drop 컬럼명
이렇게 user_password가 삭제 된 것을 볼 수 있다.
이제 테이블을 삭제해 볼 것이다.
현재 생성되어 있는 데이터베이스들이다. 여기서 test2db를 삭제해본다.
이렇게 test2db가 삭제 된 것을 볼 수 있다.
이번에는 테이블을 삭제 해볼 것이다.
현재 생성되어 있는 테이블들인데 여기서 tbl_user를 삭제해 볼 것이다.
이렇게 tbl_user 테이블이 삭제 된 것을 볼 수 있다.
문제 4)
tbl_product의 prod_details를 삭제해보자
<alter change 수정>
test2db에서 user_tel을 user_phone으로 변경해본다.
그러면 이런 문법을 볼 수 있다.
cmd창에서도 실행해보자.
column 수정 : alter table 테이블명 change column 기존컬럼명 변경컬럼명 변경자료형 제약조건
이렇게 user_tel이 user_phone으로 바뀐 것을 볼 수 있다.
문제3 )
이제 tbl_product에서 prod_price값을 varchar(100) null 로 바꿔 보자.
prod_price값이 바뀐 것을 볼 수 있다.
< DML : 데이터 조작어 (select, insert, update, delete) >
< insert 추가>
test2db에서 user에 홍길동 정보를 넣어 보자.
tbl_user에 오른쪽버튼을 눌러 select rows를 누르면 정보들을 볼 수 있는데 현재는 비어있는 것을 볼 수 있다.
여기에 홍길동 정보를 넣어본다.
이렇게 문법이 나온다.
그럼 testdb의 tbl_user에도 cmd창으로 추가해보자.
INSERT INTO 테이블 이름 (필드(컬럼)명 1, 필드(컬럼)명 2, ...) VALUES (추가할 값 1, 추가할 값 2, ...)
혹은 필드명을 생략하여
INSERT INTO 테이블 이름 VALUES (추가할 값 1, 추가할 값 2, ...)
도 가능하다.
비어있던 tbl_user테이블에 홍길동 정보가 들어 간 것 을 볼 수 있다.
여기에 남길동의 정보도 넣어본다. 이때는 필드명을 생략해 작성해 봤다.
user_id와 user_name만 볼 수도 있다.
<update 수정>
남길동 이름을 철수로 바꿔 볼 것이다.
test2db에서 바꾸면
이런 문법을 볼 수 있다.
cmd창에서 실행 해보자.
update 테이블 set 열='변경할 값' where 조건
이렇게 남길동에서 철수로 바뀐 것을 볼 수 있다.
<delete 삭제>
tbl_user의 홍길동 열을 삭제해 볼 것이다.
화살표 부분을 누르면 열 전체가 선택되는데 이때 마우스 오른쪽 눌러 delete row하면 열 전체가 삭제 된다.
cmd창에서도 실행해본다.
delete from 테이블명 where 조건
user10의 열이 사라진 것을 볼 수 있다.
※ DELETE와 DROP 구별
DROP : VIEW, TABLE, DATABASE를 완전 삭제할 때 사용
DELETE : 조건을 달아서 특정 행을 삭제할 때 사용
DML 문제) tbl_product안에 다음과 같은 작업을 수행하세요 [값 추가] prod_id prod_name prod_category reg_date prod_price amount 1111 LG_GRAM_2023 가전 2024/01/22 830,000 100 1112 SAMSUNG_FLEX2 가전 2024/01/22 3,000,000 50 2000 대우_통돌이_01 가전 2024/01/22 590,000 25 3001 이것이리눅스다 도서 2023/01/22 30,000 1000 [값 수정] prod_category가 '가전'인 모든행의 reg_date를 2023/01/01 로 변경하세요 [값 삭제] prod_id가 1111인 행을 삭제하세요 |
코드를 작성하기 전 tbl_product에는 자료들이 비어 있는 것으로 나온다.
여기에 값을 작성해서 추가해보면
이렇게 값이 들어간 것을 볼 수 있다.
prod_category가 '가전'인 모든행의 reg_date를 2023/01/01 로 변경 값을 수정해본다.
prod_id가 1111인 행을 삭제 해본다.
'IT수업 > 데이터베이스' 카테고리의 다른 글
it 수업 5주차 (6) 백업, 내보내기, 가져오기 (1) | 2024.01.23 |
---|---|
it 수업 5주차 (5) DCL (1) | 2024.01.23 |
it 수업 5주차 (4) 계정생성, 삭제 (0) | 2024.01.23 |
it 수업 5주차 (3) 기본 명령어 (0) | 2024.01.22 |
it 수업 5주차 (1) 기본 설정 (0) | 2024.01.22 |