일단 기존에 있던 role 테이블에 팀장이 없으니 다시 추가하도록 하겠습니다.
Apply를 하고 Finish 해줍니다.
그리고 이제 입력할 값을 넣어주고
번개를 눌러주면 실행이 됩니다.
그럼 이렇게 내용이 들어갑니다.
다른 방법도 있는데 USE '이름';을 넣어주면 됩니다.
저는 생성할 때 pool 이었으니 USE pool;
을 넣어주면 되겠죠.
위와 같은 내용으로 새로 작성해보면
이렇게 되고
신입 위치에서 새로이 추가가 됩니다.
이번엔 수정과 삭제를 해보도록 하겠습니다.
둘 팀장의 연봉을 수정하고자 합니다.
이렇게 연봉을 수정하고 번개를 눌러주면
이렇게 salary 수정이 가능합니다.
WHERE 없을 때에는
UPDATE employ SET team = '자리없음';
업데이트에 WHERE가 없는 경우에는 업데이트가 되지 않습니다.
MySQL에서 막아버려서 WHERE가 들어가야 업데이트가 가능합니다.
예전에는 자료가 WHERE가 지정이 안되서 다 바뀌는 불상사가 있었는데 오류로 막았습니다.
이 설정은 Preference에서 safe가 on/off 설정이 가능합니다.
그리고 SQL 워크벤치를 껐다 켜야 됩니다.
이렇게 오류가 나서 안되고, 또는 키(id, role_id)가 아니어도 오류가 납니다.
위의 옵션을 풀고 내용은
적용은 되고
내용은 이렇게 바뀌었습니다. 자리 없어서 쫓겨나기 직전입니다.
MySQL 8.0 Command Line Client라는 프로그램을 해보도록 하겠습니다.
win키를 누르고 mysql을 치면 MySQL 8.0 Command Line Client가 있습니다.
실행시키면 Enter Password를 입력해야 합니다.
처음 만들때 MySQL 비밀번호 만들었던 비밀번호를 넣으면 됩니다.
show databases;
를 쳐보도록 하겠습니다.
그러면 존재하는 데이터베이스가 나오는데
pool은 제가 만든거였죠.
pool을 쓰고싶으면 use pool;
를 하면 됩니다.
show tables;
를 해보면
테이블을 볼 수 있구요.
describe employ;
로 내용도 볼 수 있습니다.
update employ set team = '개발팀' where team = '자리없음';
을 넣어서 자리없었던 두명을 다시 자리로 넣어 보도록 하겠습니다.
입력하고 확인하면
이렇게 개발팀에 다시 복귀된 걸 볼수 있습니다.
이런 명령어를 workbench에서 편하게 할 수 있습니다. 이거는 도스버전으로 할 수 있다는 걸 알려주는 겁니다.
데이터베이스를 잘못 넣거나 했을 때 delete를 쓰는 일이 있습니다.
여기서 delete employ;
하면 다 날라갑니다.
날라가버리면 멘붕이 옵니다. 절대로 이런거 하면 안되고... 조심해야 합니다.
신입 백엔드들이 하는 실수중의 하나라고 합니다. 서버에 저장을 해두었다면 백업한 거 다시 돌리면 되지만... 그런 큰 규모 회사가 좀 적겠죠.
WHERE를 빼먹어서 생기는 일입니다. 그래서 실수로 지우는 걸 조심해야 합니다.
delete 명령어를 치는 권한이라던지 delete를 못쓰도록 교육을 받거나 해야 합니다.
권한 부여하는 방법은 Administration에 들어가면 Users and Privileges에 들어가야 합니다.
Add Account를 누르고
비밀번호를 입력하고
동시에 쿼리 몇개 보낼 수 있는지 설정할 수 있구요.
지우기, 드롭 하지마를 권한으로 제한 걸을 수도 있습니다.
이런식으로 권한을 제한으로 줄 수도 있구요.
스키마별로 권한을 줄 수도 있습니다.
개발용 스키마를 따로 만들고 거기서는 연습용이니 마음대로 해도 되니까
실무 자료하기전에 반영을 미리 테스트 해보고 반영하는 방법이 있습니다.
권한 관리를 통해 관리자는 자료보호를 잘 해야 하고, 신입은 자료 반영을 잘 해야 되겠죠.