DataBase
-
[SQL] Select 결과 InsertDataBase/SQL 2023. 4. 16. 23:56
A 테이블 Select 결과를 B 테이블에 바로 Insert 할 수 있다. -- 기본 문법 INSERT INTO 목적지테이블 SELECT * FROM 출발지테이블 -- 컬럼 지정 INSERT INTO 목적지테이블 (컬럼명1, 컬럼명2, 컬럼명3) SELECT 컬럼명1, 컬럼명2, 컬럼명3 FROM 출발지테이블 -- 예시 Query INSERT INTO delete_user (user_id, user_name) SELECT user_id, user_name FROM user WHERE isdel = '1'
-
[mysql] order by 시 null값을 목록 끝으로 정렬DataBase/SQL 2022. 12. 22. 20:22
mysql에서 데이터 조회간 null값은 제일 끝으로 정렬 처리하는 방법을 알아보자. select * from tb_userinfo order by age asc; 위와 같은 상황에 age가 null일 경우 상단에 모여있는 모습을 볼 수 있다. 이런경우에 NULL 값을 뒤로 정렬시키기 위해서는 아래의 쿼리를 사용하면 문제를 해결할 수 있다. select * from tb_userinfo order by age is null asc, age asc; 만약 나이 기준으로 내림차순으로 정렬하고 싶다면 asc에서 desc로 바꿔주면 간단하게 해결된다. select * from tb_userinfo order by age is null asc, age desc;
-
조인(Join)DataBase/SQL 2022. 11. 13. 10:00
조인이란 두개 이상의 테이블을 엮어서 원하는 데이터를 추출할 수 있도록 사용되는 개념으로 마치 하나의 테이블인 것 처럼 보여준다. 조인의 종류 INNER JOIN SELECT 조회할 컬럼 FROM 테이블1 (INNER) JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼 [WHERE 추가조건] -- inner join(교집합) select mem_idx, mem_userid, mem_name, mem_hp, mem_gender, pro_age, pro_mbti from tb_member inner join tb_profile on tb_member.mem_idx = tb_profile.pro_idx; OUTER JOIN SELECT 조회할 컬럼 FROM 테이블1 FULL OUTER JOIN 테이블2 ..
-
데이터 제어어(DCL)DataBase/SQL 2022. 11. 12. 20:40
데이터 제어어(DCL : Data Control Language) 데이터 베이스에 접근하거나 권한을 주는 등의 역할을 하는 언어를 말하며, 데이터의 보안, 무결성, 회복등의 정의하는데 사용한다. 명령어 - GRANT(권한 부여) : 특정 데이터 베이스 사용자에게 작업의 권한을 부여한다. - REVOKE(권한 철회) : 특정 데이터 베이스 사용자에게 작업의 권한을 철회한다. 권한 부여 GRANT 권한 ON 테이블 TO 사용자 [WITH GRANT OPTION]; GRANT UPDATE ON 학생 TO 장길산 [WITH GRANT OPTION]; -- 장길산에게 학생테이블에 대한 UPDATE에 대한 권한을 부여하라 권한 철회 REVOKE 권한 ON 테이블 FROM 사용자 [CASCADE CONSTRAINT]..
-
데이터 조작어(DML)DataBase/SQL 2022. 11. 12. 20:10
데이터 조작어(DML : Data Manipulation Language) 데이터 베이스에 입력된 레코드를 조회하거나 입력, 삭제, 갱신의 역할을 하는 언어를 말한다. 데이터 베이스 사용자가 질의어를 통해 데이터를 실질적으로 처리하는 데 사용하는 언어이다. 명령어 - SELECT(조회) : 데이터를 조회한다. - INSERT(입력) : 데이터를 삽입한다. - UPDATE(갱신) : 데이터를 수정한다. - DELETE(삭제) : 데이터를 삭제한다. 데이터 조회 SELECT [ * | DISTINCT ] 속성1, 속성2 FROM 테이블명 WHERE 조건 GROUP BY 기준 HAVING 그룹 조건 ORDER BY 속성[ASC | DESC]; * : 모든 컬럼 * WHERE 조건 = : 같다 : 다르다 is ..
-
데이터 정의어(DDL)DataBase/SQL 2022. 11. 10. 21:51
데이터 정의어(DDL : Data Definition Language) 데이터를 정의하는 언어로서 데이터를 담는 그릇을 의미한다. 데이터 베이스를 정의하고 테이블을 생성하는 등 데이터를 담을 수 있는 골격을 결정하는 역할을 한다. 명령어 - CREATE(생성) : 데이터 베이스, 테이블을 생성한다. - ALTER(수정) : 테이블을 수정한다. - DROP(삭제) : 데이터 베이스, 테이블을 삭제한다. - TRUNCATE(초기화) : 테이블 내 데이터를 초기화한다. 테이블 생성 create table 테이블명( 컬럼명1 데이터타입 [제약조건], 컬럼명2 데이터타입 [제약조건], 컬럼명3 데이터타입 [제약조건], ... 컬럼명n 데이터타입 [제약조건] ); * 데이터타입 1. 숫자타입 정수 : tinyint..
-
SQL(Structured Query Language)DataBase/SQL 2022. 11. 8. 20:10
SQL은 관계형 데이터 베이스에서 데이터를 저장하고 처리하는 등 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. SQL은 영어키워드를 사용하여 배우기 쉽고 국제적으로 널리 사용되는 쿼리 언어라는 장점이 존재하며, 대소문자를 구별하지 않고 문자열을 저장할 때 ( ‘ ' ) 싱글따옴표만을 사용한다. SQL 명령어 개발자가 관계형 데이터베이스에 저장된 데이터를 조작하는 데 사용하는 특정 키워드 또는 SQL 문으로 다음과 같이 분류한다. 종류 설명 데이터 정의어(DDL) 데이터를 정의하는 언어로서 데이터를 담는 그릇을 의미. 데이터 조작어(DML) 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어. 데이터 제어어(DCL) 데이터 보안, 무결성 유지, 병행제어, 회복을 위해 관리자가 사용하..
-
DB 관련 용어 정리DataBase/DB 2022. 11. 8. 19:51
용어 정리 - DB(DataBase) : 다수의 인원, 시스템, 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합. - 데이터베이스 관리 시스템(DBMS: Database Management System) : 데이터관리의 복잡성을 해결하는 동시에 추가, 변경, 삭제, 검색 등의 기능을 지원하는 소프트웨어. - RDB(Relation Data Base) : 모든 데이터를 2차원 데이블 형태로 표현하는 관계형 데이터 모델에 기초를 둔 데이터 베이스. - RDBMS : RDB를 생성하고 수정하고 관리할 수 있는 소프트웨어로서 RDBMS의 테이블은 서로 연관되어 있어 일반 DBMS보다 효율적으로 데이터를 저장, 구성 및 관리할 수 있음. 정규화를 통해 데이터의 중복성을 최소화하여 트랜잭션을 수행하는 것이..