Skip to main content
mysql

6주차

By 9월 26th, 2024No Comments

DML  (select, insert, update, dalete)

DDL (create, drop, alter)

DCL (grant, revoke, deny)


 

테이블 이름사용할때 드래그를 이용한 오타 줄이기

대소문자 구분을 하지 않지만 주요 키워드를 대문자로 설정하는 법 (edit > format > upcase keyword) – 선택해서 적용

예약어 자동 대문자 변경 환경설정 > sql editor > query editor > change keywords up upper case – 예약어 힌트에서 적용

코드 정렬 하기 ctrl + B (beauty code)

주석 단축기 ctrl  + /

리미트 제한 설정하기 기본값은 1000행

폰트 크기 변경하기

검색 결과 값에서 필터 rows 사용하기   엑셀 저장 (필터링 데이터만 저장되지 않고 결과값이 모두 저장 csv를 가장 많이 사용)

 

 


 

update 명령어

 

테이터를 검색해서 바꾸고자 하는 데이터를 먼저 조회한다.

바꾸고자 하는 데이터의 조건식을 만들어서 데이터의 내용을 변경한다.

update 테이블병 set 수정하고싶은컬럼명 = 수정하고싶은값 where 특정컬럼 =’값’;

 

buytbl 테이블에서 사용자ID가 JYP인 사람을 검색해서 pordName의 데이터값을 모니터2로 변경한다.

만일 사용자가 ID가 jyp가 여러명 일 경우 (id가 프라이머리키가 아니라 일반 텍스트일경우 중복일 수도 있다.)

복수의 데이터 값이 변경된다. 이런 경우는 설계 오류라고 볼 수 있다. ID값은 2명이 존재하게 설계한 경우 복수로 업데이트가 진행된다.

 

update buytbl set prodName = '모니터2' where userID ='JYP';

 

테이블이나 db를 복사해서 테스트하기

모든 필드의 값을 한번에 변경하기 , 실수를 하기 쉽기 때문에 매우 조심해야한다. where구문이 없이 그냥 명령어를 적용하면

필드값이 한꺼번에 변경되기 때문에 신중에 신중을 해야 한다.

update 테이블명 set name ='';

update 테이블명 set lname='' where fname ='길동';

 


DELETE 명령어

delete from 테이블명 where 조식식;

데이터를 먼저 검색하거나 조식식을 만들어서 1행이나 복수행을 삭제할 수 있다.

이때 주의할 점은 조건식이 맞으면 동시에 삭제될 수 있다는 점을 고려해야 함

 

-- 데이터 중 prodName 컬럼에 모니터2 데이터를 검색해서 삭제한다. 중복 삭제 가능--

delete from buytbl where prodName = '모니터2';




-- 데이터 중 id값이 1번인 데이터를 삭제 --

delete from buytbl where id = 1;

mysql 유저 추가하기 (DCL 명령어)

mysql 커멘드 모드에서 user 데이타베이스를 접근

testuser 아이디에 패스워드 1234로 유저 아이디 추가, 2가지 방법 차이 알기

 

생성명령, 패스워드 변경, 사용자삭제

-- 유저추가

mysql > create user 'testuser'@localhost identified by '1234';


- 패스워드 변경

mysql > set password for 'testuser'@localhost = '12345678';


- 패스워드가 변경된 것은 mysql 에서 빠져나와서 다시 로그인을 해서 확인한다.


사용자삭제

mysql > drop user 'testuser'@localhost;

 

권한 보기

grant 명령어로 아이디별로 데이터베이스와 테이블의 권한을 부여할 수 있다.

전체 부여는 *.*; 으로 처리

grant all on dbname.tableName;

mysql > grant all on *.*;

mysql > show grants for 'testuser'@localhost;

mysql > grant all on shopdb.usertbl to 'testuser'@localhost;

mysql > grant select, update on shopdb.usertbl to 'testuser'@localhost;

-- shopdb의 usertbl 테이블만 select, update 권한을 부여한다.

 

Leave a Reply