테이블 내에 저장된 데이터(data)를 내가 원하는 형태의 정보( information) 로 변형하여 불러오는데 사용할 수있습니다
SELECT 문을 사용하여 테이블의 레코드를 선택할 수 있습니다.
FROM뒤에 레코드를 선택할 테이블의 이름을 명시한습니다.
이때 WHERE를 사용하면, 선택할 레코드의 조건을 설정할 수 있습니다.
SELECT 컬럼명, 컬럼명, ...
FROM 컬럼이 있는 테이블명
WHERE 조건;
SELECT * -- *: 모든 컬럼
FROM MEMBER
WHERE marketing_yn = true
and name = 'rara'; --and/or: 여러 조건 설정 가능
INSERT
테이블에 새로운 데이터를 삽입하는데 사용한다.
INSERT INTO문을 사용하여 테이블에 새로운 레코드를 추가할 수 있다.
INSERT INTO 테이블명
(컬럼1, 컬럼2, ...)
VALUES(값1, 값2, ...);
INSERT INTO MEMBER
(name, email, mobile_no, password, marketing_yn, register_date)
VALUES
('rara', 'test@test.com', '010223334444',true, now());
UPDATE
UPDATE 문을 사용하여 레코드의 내용을 수정할 수 있는데, 해당 테이블에서 WHERE 절의 조건을 만족하는 레코드의 값만을 수정한다. 만약, WHERE를 생략한 경우 해당 테이블에 저장된 모든 데이터가 일괄 수정된다.
UPDATE 테이블명
SET 컬럼1 = 값1
, 컬럼2 = 값2
, ...
WHERE 조건;
UPDATE MEMBER
SET marketing_yn = false --true인 값을 false로 변경
WHERE marketing_yn = true;
UPDATE MEMBER
SET marketing_yn = false
, register_date = now()
, password = '1111'
WHERE email = 'test@test.com';
INSERT INTO ... ON DUPLICATE KEY UPDATE
해당 문법은 insert into 와 동일한 형태이지만 뒤에 on duplicate key update 문만 추가해주면 됩니다.
내가 새로운 정보를 insert 하는데 만약 존재하는 데이터라면 자동으로 update를 해주고 새로운 데이터라면 insert 를 해줍니다.
데이터를 디비에 insert 해줄때 , 먼더 테이블에 해당하는 데이터가 있는지 조회한 뒤 없으면 insert 해주고 , 있으면 update 해주는 쿼리.
oracle 에서의 merge 기능과 거의 동일한 기능을 합니다.
* 쿼리문 중복을 판단하는 기준은 unique key 이고 , 이 키를 먼저 설정해놔야 합니다.
/* insert into ... on duplicate key update 문 */
INSERT INTO 테이블명 (
컬럼명1
,컬럼명2
,컬럼명3
,컬럼명4
) VALUE (
'값1'
,'값2'
,'값3'
,'값4'
)
ON DUPLICATE KEY UPDATE
컬럼명3 = '업데이트 될 값1'
컬럼명4 = '업데이트 될 값2'
DELETE
DELETE 문을 사용하여 테이블의 레코드를 삭제할 수 있는데, 해당 테이블에서 WHERE 절의 조건을 만족하는 레코드만을 삭제합니다.
만약 WHERE를 생략한 경우 해당 테이블에 저장된 모든 데이터가 삭제됩니다.
delete 문을 사용할때는 무조건 where 문을 사용하길 권장하며 만약 실제로 모든 데이터를 삭제하고 싶다면
trucate table [테이이블명] 을 사용하는 것이 좋습니다.
DELETE
FROM 테이블명
WHERE 조건;
DELETE
FROM MEMBER
WHERE email = 'test@test.com';
trucate table [테이이블명]
mariaDB select insert update delete 문법 정리
SELECT
테이블 내에 저장된 데이터(data)를 내가 원하는 형태의 정보( information) 로 변형하여 불러오는데 사용할 수있습니다
SELECT 문을 사용하여 테이블의 레코드를 선택할 수 있습니다.
FROM뒤에 레코드를 선택할 테이블의 이름을 명시한습니다.
이때 WHERE를 사용하면, 선택할 레코드의 조건을 설정할 수 있습니다.
INSERT
테이블에 새로운 데이터를 삽입하는데 사용한다.
INSERT INTO문을 사용하여 테이블에 새로운 레코드를 추가할 수 있다.
UPDATE
UPDATE 문을 사용하여 레코드의 내용을 수정할 수 있는데, 해당 테이블에서 WHERE 절의 조건을 만족하는 레코드의 값만을 수정한다.
만약, WHERE를 생략한 경우 해당 테이블에 저장된 모든 데이터가 일괄 수정된다.
INSERT INTO ... ON DUPLICATE KEY UPDATE
해당 문법은 insert into 와 동일한 형태이지만 뒤에 on duplicate key update 문만 추가해주면 됩니다.
내가 새로운 정보를 insert 하는데 만약 존재하는 데이터라면 자동으로 update를 해주고 새로운 데이터라면 insert 를 해줍니다.
데이터를 디비에 insert 해줄때 , 먼더 테이블에 해당하는 데이터가 있는지 조회한 뒤 없으면 insert 해주고 , 있으면 update 해주는 쿼리.
oracle 에서의 merge 기능과 거의 동일한 기능을 합니다.
* 쿼리문 중복을 판단하는 기준은 unique key 이고 , 이 키를 먼저 설정해놔야 합니다.
DELETE
DELETE 문을 사용하여 테이블의 레코드를 삭제할 수 있는데, 해당 테이블에서 WHERE 절의 조건을 만족하는 레코드만을 삭제합니다.
만약 WHERE를 생략한 경우 해당 테이블에 저장된 모든 데이터가 삭제됩니다.
delete 문을 사용할때는 무조건 where 문을 사용하길 권장하며 만약 실제로 모든 데이터를 삭제하고 싶다면
trucate table [테이이블명] 을 사용하는 것이 좋습니다.
MariaDB vs. MySQL vs. MS SQL vs. OracleDB
MariaDB vs. MySQL vs. MS SQL vs. OracleDB - 데이터베이스 비교분석
데이터베이스는 소프트웨어 응용프로그램이 데이터를 저장, 관리, 조작하기 위해 사용되는 핵심 요소입니다. 여러 데이터베이스 관리 시스템 중에서 MariaDB, MySQL, MS SQL, OracleDB는 널리 사용되는
codro.tistory.com
'SQL' 카테고리의 다른 글