휴먼교육센터 개발자과정 2일 차

조하영·2022년 7월 28일
0

IP- 인터넷에서 사용하는 주소체계, v4(32bit)와 v6(128bit)가 있다, 공인IP, 사설IP가 있다.

공인IP- ISP에서 금액을 지불하고 사용하는 것
사설IP- 공유기에서 연결하여 무료로 이용하는 것 (192.168.으로 시작)

서버의 자료만으로 처리가능(웹서버)
DB의 자료가 필요한 경우(WAS)

DBMS- 실시간 접근 가능, 실시간 변화, 공유가능
RDBMS-관계형 데이터베이스(Mysql, Oracle, Maria DB)

문제

아이디 4자리, 이름 10자, 수량, 등급 문자 1개, 초기값 A로 설정하여 테이블 만들기

mysql> create table goods(
-> id varchar(4) unique,
-> name varchar(10) not null,
-> cnt int,
-> grade varchar(1) default 'A'
-> );

DB란 무엇인가요?
많은 양의 데이터를 저장하고 관리하는 프로그램,
실시간으로 접속할 수 있고, 누구나 공유할 수 있으며 실시간으로 변화할 수 있습니다.

어떤 DB를 사용해보셨나요?
관계형데이터베이스인 mysql, Oracle 을 사용해봤습니다.

테이블의 구성요소

테이블(릴레이션)-생성(create), 삭제(drop), 수정(alter)

속성(컬럼, 필드)- 문자(char,varchar), 숫자(int), 날짜(date,timestamp)의 데이터 타입존재
속성의 제약조건: not null, default, unique, 키

튜플

문제

게시판 테이블
글번호 숫자 글번호 중복금지
작성자 10글자 반드시 입력
제목 20글자
조회수 숫자 기본값 0

mysql> create table table_1(
-> num int unique,
-> name varchar(10) not null,
-> title varchar(20),
-> cnt int default 0
-> );

mysql> desc table_1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| num | int | YES | UNI | NULL | |
| name | varchar(10) | NO | | NULL | |
| title | varchar(20) | YES | | NULL | |
| cnt | int | YES | | 0 | |
| date | timestamp | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+

추가-

1.작성자가 20글자 가능하도록 수정
컬럼의 데이터타입 및 속성 변경
alter table table_1 modify name varchar(20) not null;

컬럼 명, 데이터 타입, 속성 모두 한번에 변경(예)
ALTER TABLE table_a CHANGE apple banana VARCHAR(2) NOT NULL;

2.게시날짜 속성추가(년월일시분초형식으로)
alter table table_1 add date timestamp;

3.insert문 검색후 튜플1개 저장
insert into table_1 values(1,'조하영','오늘은 이틀째 수업',23,now());

mysql> desc table_1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| num | int | YES | UNI | NULL | |
| name | varchar(20) | NO | | NULL | |
| title | varchar(20) | YES | | NULL | |
| cnt | int | YES | | 0 | |
| date | timestamp | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+

제대로 입력되었는지 확인
select * from table_1;

mysql> select * from table_1;
+------+-----------+----------------------------+------+---------------------+
| num | name | title | cnt | date |
+------+-----------+----------------------------+------+---------------------+
| 1 | 조하영 | 오늘은 이틀째 수업 | 23 | 2022-07-28 15:56:19 |
+------+-----------+----------------------------+------+---------------------+

데이터 정의 명령어(DDL)- 테이블을 조작 create(생성), alter(수정), drop(삭제)
데이터 조작 명령어(DML)- 튜플을 조작 C- insert(삽입), R-select(조회), U-update(수정), D-delete(삭제)

profile
공부하는 개발자

0개의 댓글