━━━━ ◇ ━━━━
정보보안실무/서버, 클라우드

S-Part.07 MariaDB 실습 - [인스테도뷰]

728x90
반응형

MariaDB 실습

구축환경

CentOS 7.6 Minimal - (www.centos.org)

VirtualBox 7.0 - (www.virtualbox.org)

데이터베이스: School

테이블: Student, Teacher

필드: Name, Age, Phone, Address

 


데이터베이스 생성 'create database School;'

목록을 확인하면 School 데이터베이스가 생성된 것을 볼 수 있다.

데이터베이스를 삭제 'drop database School;'

데이터베이스를 삭제하는 명령어를 입력하면 School이 삭제된 것을 확인할 수 있다. 삭제하는 방법을 예시로 든 것이니 패스 해도 된다.

'use School;' 명령어로 데이터베이스에 들어간다.

테이블 목록 열람 'show tables;'

현재는 어떠한 테이블도 생성하지 않았기 때문에 당연히 Empty가 뜬다. 다음 step으로 가서 테이블을 생성해보자.


[테이블생성]

글 앞 부분에서 말 했듯 테이블은 Student와 Teacher 이렇게 두 가지를 생성한다.

'create table Student (Name varchar(8), Age int(3), Phone int(10), Address varchar(10));'

'create table Teacher (Name varchar(8), Age int(3), Phone int(10), Address varchar(10));'

두 명령어는 테이블 명만 다르고 나머지는 똑같다. 의미를 살펴보자면,

Student라는 테이블을 생성해라 (이름: 문자열 8자리, 나이: 숫자 3자리, 폰번호: 숫자 10자리, 주소 문자열 10자리) 이다.

Teacher 테이블도 의미는 동일.

Student 테이블 내용 확인 'desc Student'

Teacher 테이블 내용 확인 'desc Teacher'

입력한 대로 잘 적용이 되어 있다.


[필드 추가/삭제/순서변경]

'alter table Student add Sex varchar(5);'

성별을 구분할 수 있도록 필드를 추가하였다.

필드 삭제하기 'alter table 테이블명 drop 필드명;'

제대로 삭제된 것을 확인할 수 있다.

생성하는 필드 순서를 가장 첫번째에 생성하기 원할 때 'alter table 테이블명 add 필드명 인자값 first;'

아까 그냥 생성했을 때는 가장 뒤에 왔던 필드가 이번엔 가장 첫번째에 생성되어있다.


[필드 순서 이동]

'alter table 테이블명 modify 필드명 인자값 after 기준필드명'

나는 Age필드를 Address 필드 뒤로 보내봤다.


[자릿 수 변경]

'alter table 테이블명 change 필드명 필드명 인자값;'

'alter table Student change Address Address varchar(6);

나는 Address 문자열 10자리 → Address 문자열 6자리로 변경해봤다.

'alter table 테이블명 change 필드명 필드명 인자값;'

'alter table Student change Address Home varchar(10);

이번엔 Addrss 문자열 6자리 → Home 문자열 10자리로 변경하면서 필드명도 같이 바꿔보았다. 방법은 똑같고 필드명만 변경해주면 되는 작업이다.


[필드 내부 데이터 내용 채우기]

현재는 아무 데이터도 없기 때문에 Empty로 출력된다.

insert into Student values ('Male', 'Park', 010123456, 'Daegu', 33);

우리가 필드를 생성하며 만들었던 열을 순서대로 적어주어야한다.

문자열 데이터(varchar): '값' (항상 작은 따옴표를 값 앞과 끝에 입력해줘야한다)

숫자 데이터(int): 숫자 (작은 따옴표를 입력하지 않아도 된다. 하지만 작은 따옴표를 입력하게 되면 숫자데이터라도 문자열로 인식한다.)

insert into Student (Name, Phone, Age) values ('Choi', 0101123416, 23);

특정 부분만 입력하고 싶을 때는 필드명을 기재하고 values를 입력 후 괄호열고 값들을 적어주면 된다.

입력하지 않은 부분들은 NULL 값으로 출력된다.

update Student set Age=90;

한번의 명령어로 한 필드의 모든 데이터를 바꾸고 싶을 때 사용한다. 캡쳐를 보면 나이 필드가 모두 90으로 변경된 것을 볼 수 있다.

특정 데이터를 가진 행의 특정 필드의 값을 수정하고 싶을 때

update Student set Sex = 'F' where Name = 'Choi';

나는 이름이 Choi인 행에 성별이 원래 NULL값이었기에 F로 지정해보았다.

update Student set Home = 'Seoul', Age=20 where Name = 'Choi';

이번에는 이름이 Choi인 행에 Home은 서울로, 나이는 20세로 수정해보았다. 이렇게 한 번에 두 가지도 수정이 가능하다.

delete from Student where Name = 'Choi';

이번엔 이름이 Choi인 행 전체를 삭제 해봤다.


 

이번 포스팅에서는 데이터베이스 생성, 삭제

테이블 생성, 삭제, 응용

필드 생성, 삭제, 응용

부분들을 다뤄봤다. 데이터베이스를 운용할 때 굉장히 유용한 스킬들이기 때문에 잘 기억해두면 좋을 듯 하다.

 

728x90
반응형
COMMENT