[MariaDB] chapter2

Ryong·2023년 11월 2일
0

MariaDB

목록 보기
2/8
post-thumbnail

select : 데이터베이스에서 데이터를 조회하는데 사용

select * from 테이블이름 : 테이블의 전체 컬럼내용 표시
select 필드이름, 필드이름 from 테이블이름 : 테이블의 특정 컬럼만 표시
select 필드이름 별칭 from 테이블이름 : 컬럼이름이 별칭으로 바뀜

[참고]
별칭설정할 때 필드이름 as 별칭 , 별칭에 공백이 있으면 ""로 감싸야 함.
ex) SELECT profno AS "교수번호", NAME 이름, pay AS "급  여", 
POSITION "직  위" FROM professor;

select 필드이름 from  테이블이름 where 조건식 : 조건에 맞는 데이터만 표시

[예시]
SELECT * FROM emp2 WHERE NAME LIKE '나%'; : 나로 시작하는 이름 출력
SELECT * FROM emp2 WHERE NAME not LIKE  '나%'; : 부정문
SELECT * FROM emp2 WHERE emp_type='정규직' AND POSITION='과장'; : 정규직 이면서 과장인사람 출력
SELECT * FROM professor WHERE pay BETWEEN 300 AND 500; : pay가 300이상 500이하
SELECT * FROM professor WHERE pay >=300 AND pay <= 500; : pay가 300이상 500이하
SELECT * FROM professor WHERE bonus IS NULL; : NULL값 출력
SELECT * FROM professor WHERE bonus IS not NULL; : 부정문
SELECT * FROM emp2 WHERE POSITION ='과장' OR POSITION='부장';
SELECT * FROM emp2 WHERE POSITION IN('과장','부장'); : or과 같은의미
SELECT * FROM emp2 WHERE POSITION not IN('과장','부장'); : 부정문

select * from 테이블이름 order by asc/desc;
asc : 오름차순 정리(디폴트 값)
desc : 내림차순 정리

insert : 데이터를 데이터베이스에 삽입하는데 사용

INSERT INTO 테이블이름 VALUES (필드값1, 필드값2,...);  null 허용 안되는 필드에는 무조건 값을 넣어야 한다.
INSERT INTO 테이블이름(필드이름1, 필드이름2) VALUE(필드값1, 필드값2);

[참조]
desc 테이블이름 : 테이블 구조 보는 명령어

delete : 데이터베이스에서 데이터를 삭제하는데 사용

DELETE FROM tablename; : 레코드 전체 삭제
DELETE FROM tablename WHERE ; : 조건에 해당하는 레코드 삭제

[예시]
DELETE FROM gift;
DELETE FROM professor WHERE pay BETWEEN 220 AND 270;

commit, rollback

commit : COMMIT 명령어는 트랜잭션 내에서 수행된 모든 변경사항을 데이터베이스에 영구적으로 저장. COMMIT은 트랜잭션의 마지막에 사용되며, 이 후에는 트랜잭션에서 수행된 변경사항을 취소할 수 없음

rollback : ROLLBACK 명령어는 COMMIT 이전에 트랜잭션에서 수행된 모든 변경사항을 취소. 이를 통해 데이터베이스를 트랜잭션 시작 이전의 상태로 되돌릴 수 있습니다. 오류가 발생하거나, 트랜잭션을 취소하고 싶을 때 사용

[참조]
간혹 autocommit이 켜있어, rollback이 안될 경우 명령어를 치거나 서버 설정파일(my.ini)을 수정하면된다.

  • 명령어 : SET autocommit=0;
  • my.ini 파일 연 후 클라이언트 윗 부분에 autocommit = 0 입력 후 저장

UPDATE : 데이터베이스의 데이터를 업데이트(수정)하는데 사용

UPDATE 테이블이름 SET 변경될 내용 ; : 전체 레코드 변경
UPDATE 테이블이름 SET 변경될 내용 WHERE 조건; : 조건에 해당하는 레코드만 수정

[예시]
UPDATE gift SET gname='aa'; 
UPDATE gift SET gname='aa' WHERE gname='참치세트';
UPDATE gift SET gname='aa' WHERE NOT like gname='%세트';
위 수식에서 null 필드에는 값이 변하지 않는다.
UPDATE emp2 SET hobby='캠핑' WHERE hobby='수영';
UPDATE professor SET pay=pay*0.9 WHERE pay>=500;
UPDATE emp2 SET hobby=null WHERE NAME='이윤나'; null
UPDATE emp2 SET hobby='  ' WHERE NAME='이윤나'; 공백

[참조]
nvl은 null값을 변경해주는 명령어 (연산을 할 떄만 쓴다.)
nvl(bonus, 200) : bonus의 null값을 200으로 대체
UPDATE professor SET bonus = nvl(bonus,0) +300;
각 bonus에는 300을 더하고 null값은 0으로 대체 후 300을 더한다.

UPDATE emp2 SET hobby='캠핑' WHERE NAME='이윤나'; 문자에서 null값이 있어도 nvl없이 그냥 바꾸면 된다.
profile
새로운 시작. 그리고 도약

0개의 댓글