저번포스팅에서는 mariaDB에서 데이터베이스, 테이블을 생성, 수정, 삭제 등의 관리의 방법에 대해서 포스팅을 했습니다.
이번 포스팅에서는 DB에 직접적으로 데이터를 조회, 삽입, 수정, 삭제등 데이터 조작과 권한에
관한 포스팅을 이어서 하도록 하겠습니다.
1. 데이터 조회 (SELECT)
SELECT는 테이블에 존재하는 데이터를 조회할 수 있습니다.
SELECT 필드이름1, 필드이름2, ... FROM 테이블이름
위와 같은 방식으로 테이블의 데이터를 조회할 수 있습니다.
필드 이름에는 ' * ' 도 사용가능합니다.(* = 모든 필드를 의미합니다.)
특정 필드가 아니고 모든 필드를 지정하고 싶으면 ' * '를 사용하면 됩니다.
1-1. 조건(WHERE)
WHERE는 조건절로 데이터의 조건을 비교하여 조건에 만족하는 데이터를 조회하거나 수정 삭제 가능합니다.
또한 논리 연산자로 AND, OR 등을 같이 사용가능합니다.
연산자 종류 | 연산자 | 뜻 |
비교 연산자 | = | 데이터 값이 비교대상과 같음 |
> | 데이터 값이 비교대상보다 큼 | |
>= | 데이터의 값이 비교 대상보다 크거나 같음 | |
< | 데이터의 값이 비교 대상보다 작음 | |
=< | 데이터의 값이 비교 대상보다 작거나 같음 | |
논리 연산자 | NOT | 조건이 일치 않으면 참(Ture) |
AND | 두 개 이상의 조건이 모두 참일 때 참 | |
OR | 두개 이상의 조건중 하나라도 참일 때 참 | |
LIKE | 데이터를 비교할 때 비교 대상의 패턴을 검색 가능 |
위처럼 mysql 데이터베이스 내 user 테이블에서 User, Host, Password를 조회하였습니다.
2. 데이터 삽입 (INSERT)
INSERT는 테이블의 칼럼에 데이터를 삽입할 수 있습니다.
INSERT INTO 테이블이름 (필드 이름1, 필드이름2, ...) VALUES ( 벨류1, 벨류2, ....);
위와 같은 방식으로 칼럼에 데이터를 삽입 가능합니다.
이전에 만들었던 테이블에 직접 데이터를 삽입해 보았습니다.
위에서 배웠던 SELET를 통해서 테이블에 제대로 데이터가 삽입되었는지 확인까지 하였습니다.
또한 id부분은 데이터를 삽입하지 않았지만 자동으로 데이터가 삽입되어 있습니다.
이전에 필드 설정을 할 때 AUTO_INCREMENT라는 옵셥을 추가했기 때문에 자동으로 삽입됩니다.
3. 데이터 수정 (UPDATE)
UPDATE는 테이블의 데이터를 수정할 수 있습니다.
UPDATE 테이블이름 SET 필드이름 = 벨류 ... [WHERE condition];
위의 방식에 맞춰서 Park의 데이터를 수정해 보도록 하겠습니다.
위처럼 필드의 값이 수정된 것을 확인 가능합니다.
명령어의 작동 방식을 확인해 보면 Demotable 안에 name이라는 필드의 park이라는 값을 가진 email필드의 데이터값을 수정한다고 이해하시면 됩니다.
4. 데이터 삭제(DELETE)
이번에는 테이블의 데이터를 삭제하는 방식을 알아보겠습니다.
이전에 데이터베이스나 테이블을 삭제할 때는 DROP을 사용했지만 이번에는
DLETE를 사용한다는 것을 기억해 주세요.
DELETE FROM DemoTable WHERE id = 2;
방식은 위에 수정과 비슷합니다.
Demotable에 필드이름이 id의 값이 2인 데이터를 삭제한다는 명령어입니다.
위처럼 id값이 2인 park의 데이터가 삭제된 것을 확인 가능합니다.
추가적으로 id필드의 값은 자동으로 카운트 설정을 해서 다시 데이터를 삽입한다면
위처럼 id필드의 값이 3으로 되는 것을 기억해 주세요
5. 권한 부여(GRANT)
GRANT는 사용자에게 데이터 베이스에 대한 접근 권한을 부여할 수 있습니다.
GRANT 권한 ON 데이터베이스이름.테이블이름 TO 유저이름@호스트;
위와 같은 방식으로 사용가능합니다.
실제로 명령어를 적용하면서 다시 알아보겠습니다.
먼저 테스트용으로 banyb라는 사용자를 생성해 주도록 하겠습니다.
데이터를 만들고 권한을 부여하려 하는데 에러가 하나 발생했습니다.
해당에러에 대해서 알아보니 root@192.168.10.1 은 권한을 부여하는 권한을 가지고 있지 않아서 사용이 불가능하다고 합니다.
그래서 외부접속이 아닌 vmware에서 다시 권한 설정을 해보도록 하겠습니다.
같은 명령어인데 vmware인 로컬에서는 명령어가 제대로 작동하는 것을 확인 가능합니다.
그리고 권한을 추가하면 반드시 권한 테이블을 새로고침을 해줘야 합니다.
FLUSH PRIVILEGES명령어를 꼭 적용해 줍니다.
밑줄 부분을 보면 위처럼 권환이 부여된 것을 확인 가능합니다.
6. 권한 회수(REVOKE)
REVOKE를 통해서 이번에는 부여했던 권한을 회수하도록 하겠습니다.
REVOKE 권한 ON 데이터베이스.테이블 FORM '유저이름'@'호스트';
위와 같은 방식으로 명령어를 적용하고 새로고침까지 적용하였습니다.
위와 달리 부여했던 권한이 없어진 것을 확인가능합니다.
위처럼 권환부여하고 회수하는 방법까지 알아보았습니다.
이번 포스팅에서는 DB에 직접적으로 데이터를 조회, 삽입, 수정, 삭제등 데이터 조작과 권한에 대한 포스팅을 마치도록 하겠습니다.
다음 포스팅은 마리아 DB 백업 및 복원에 대한 포스팅을 이어서 하겠습니다.
감사합니다.
'Linux' 카테고리의 다른 글
VMware 리눅스 서버구축_웹서버(Apache) 1 (0) | 2025.03.26 |
---|---|
VMware-리눅스 DB서버(MariaDB) 4 (0) | 2025.03.17 |
VMware-리눅스 DB서버(MariaDB) 2 (0) | 2025.03.07 |
VMware-리눅스 DB서버(MariaDB) (1) | 2025.03.05 |
Fdisk를 사용해서 마운트작업 (1) | 2024.09.29 |