일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- CSS
- json
- HTML
- 자바
- git
- workbench
- 인스턴스
- 다이어그램
- Linux_명령어정리
- Linux
- SQL
- java
- Spring_오류정리
- Spring_에러정리
- Git_정리
- asp.net
- vb.net
- MySQL
- 이클립스
- 인덱스
- Git_명령어정리
- github
- 자바스크립트
- SQL_용어정리
- spring
- 아파치톰캣
- DML
- jsp
- JavaScript
- 배열
- Today
- Total
목록데이터베이스/SQL: 정리 (37)
데브마우스
MySQL의 시스템 변수란 무엇인가요? 시스템 변수란 DBMS(MySQL)에서 자체적으로 가지고 있는 설정값이 저장된 변수입니다. 윈도우즈의 환경 변수에 비유할 수 있습니다. 시스템 변수는 앞에 @@가 붙어있습니다. 전체 시스템 변수를 알고 싶으시다면 아래 SQL문을 사용하시면 확인할 수 있습니다. -- 전체 시스템 변수의 종류를 확인하는 SQL문입니다. SHOW GLOBAL VARABLES 데이터베이스에 상세히 알고 있지 않는 이상, 시스템 변수를 변경하는 것은 추천하지 않습니다.
SQL문 작성하는 기준 정리 SQL을 처음 작성하여 익숙하지 않으면 실수를 하게 되고 실수를 하게 되면 문법 오류가 발생했다는 에러 코드 1064를 만나게 됩니다. 그럼 어떻게 체계적으로 SQL문을 작성할 수 있을까요? 키워드(예약어)별로 띄워서 작성하세요. SELECT 구매_개수, 가격X수량, 구매액 FROM 테이블_이름; 함수를 사용한다면 하나씩 풀어서 작성하세요. SELECT 구매 개수, 가격X수량, 구매액 FROM buy_list; 위와 같은 SQL문을 짜고 싶다고 가정 해보겠습니다. 구매 개수는 테이블에서 num이라는 컬럼을 그대로 가져오면 됩니다. 가격X수량은 곱한 값이 아닌, 표시하고 싶은 값입니다. 구매액은 가격과 수량을 곱한 값입니다. 이제 하나씩 풀어서 필요한 컬럼을 찾아야 합니다. 가..
외래 키란 무엇인가요? 외래 키(Foreign Key, FK)는 어떠한 열(Column)이 다른 테이블에 존재하는 기본 키(Primary Key, PK)를 참조하는 제약 조건입니다. 만약 회원만 물건 구매가 가능한 사이트가 있으며 그걸 기록 하는 테이블(회원 테이블과 구매 기록 테이블)이 있다고 가정해보겠습니다. 물건 구매 시 회원만 가능하므로 구매 기록 테이블에는 회원 테이블에 없는 정보가 들어와서는 안됩니다. 외래 키로 설정하면 회원 검증을 쉽게 할 수 있습니다. 위의 사례는 데이터의 일관성을 유지하고 무결성을 강화할 수 있습니다.
GROUP BY 절 GROUP BY절은 SELECT와 함께 사용할 때 그룹으로 묶어주는 기능을 제공합니다. GROUP BY절은 그룹으로 묶어주지만 명확한 기준이 없으면 그룹으로 묶어버렸기에 값을 찾기 힘들 수 있습니다. SQL문을 명확하게 사용하셔야 합니다. GROUP BY의 위치는 아래와 같습니다. SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 GROUP BY절의 집계 함수 집계 함수 설명 SUM() 합계를 구합니다. AVG() 평균을 구합니다. "행의 총합/행의 갯수"을 계산한 값을 출력합니다. 실수를 출력시키기에 JSP의 ResultSet과 함께 사용한다면 ResultSet.getFloat("열이름"..
SELECT와 ORDER BY, LIMIT, DISTINCT, GROUP BY, HAVING 정리 SELECT로 데이터를 조회한 후 ORDER BY, LIMIT, DISTINCT, GROUP BY, HAVING을 사용하여 조회한 데이터를 정리할 수 있습니다. ORDER BY ORDER BY는 결과의 정렬을 위해 사용합니다. ORDER BY 절이 결과의 값이나 개수에 영향을 끼치지는 않지만 결과가 출력되는 순서를 조절합니다. SELECT friend_name from friend_table order by friend_birthday; 기본값은 ASC(Ascending)으로 오름차순을 의미합니다. 오름차순이란 1,2,3, 5, 7, 11 ... 이런식으로 숫자가 올라가는걸 오름차순이라고 부릅니다. SELE..
인덱스(index)란 무엇인가요?현실의 인덱스는 책의 제일 뒤에 있는 "찾아보기"입니다. 그렇다면 SQL에서 인덱스란 무엇일까요? 테이블의 검색 속도를 향상시키기 위한 데이터 구조입니다. 인덱스를 왜 사용하나요? -> 속도인덱스를 사용하면 데이터를 조회할 때 결과가 나오는 속도를 빠르게 해줍니다.인덱스를 어떻게 사용하나요?인덱스를 만드는 SQL 쿼리문은 아래와 같습니다.CREATE INDEX 인덱스_이름 ON 테이블_이름(컬럼_이름); 뷰(View)란 무엇인가요?SQL에서 뷰는 현실 세계의 창문에 비유하곤 합니다. 창문을 통해 창문 프레임 안의 경치를 볼 수 있습니다. 뷰를 통해 가상의 테이블을 만들고 일반 사용자는 그 테이블과 동일하게 뷰를 취급합니다. 하지만 뷰는 실제 데이터를 가지고 있지 않으며 윈..
SELECT문이란 무엇인가요? SELECT문은 테이블에서 데이터를 추출하는 기능을합니다. SELECT문을 사용해도 테이블의 데이터가 변경되지 않습니다. SELECT문의 기본 형식은 "SELECT 컬럼이름 FROM 테이블이름 WHERE 조건식"입니다. 조건식을 사용하여 데이터 베이스에서 원하는 데이터를 뽑아낼 수 있습니다. -- SELECT의 구조 SELECT select_expr(열 이름) [FROM table_references(테이블 이름)] [WHERE where_condition(조건식)] [GROUP BY {col_name | expr | position}(열 이름)] [HAVING where_condition(조건식)] [ORDER BY {col_name | expr | position}(열 ..
데이터베이스 구죽 절차 데이터베이스는 데이터를 저장하는 공간입니다. 데이터베이스를 구축하고 사용하는 절차는 아래 절차를 따릅니다. 데이터베이스 만들기 아래 코드는 데이터 베이스를 생성하는 SQL문입니다. CREATE DATABASE 데이터베이스_이름 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; 테이블 만들기 아래 코드는 테이블을 생성하는 SQL문입니다. CREATE TABLE member(member_id varchar(8) not null, member_password varchar(8) not null, primary key(member_id); 데이터 입력, 수정, 삭제하기 데이터 입력: INSERT 데이터 수정: UPDATE 데이터 삭제: DELETE 데이터 조..
DBMS란 무엇인가요? DBMS는 Database Management System의 약자입니다. 데이터베이스를 관리하고 운영하는 소프트웨어가 DBMS입니다. 이러한 DBMS는 컴퓨터의 운영체제에 비유할 수 있습니다. 데이터베이스는 여러 사용자나 응용 프로그램과 공유할 수 있으며 동시에 접근이 가능할 수 있다는 특징이 있습니다. 인터넷의 게시판, 회원정보, 은행의 계좌 등 정보가 있는 곳에는 데이터베이스가 있습니다. DBMS의 분류 현재 제일 많이 사용되는 DBMS는 RDBMS(Relational Database Management System, 관계형 DBMS)입니다. RDBMS는 테이블이라는 최소 단위에 행(row)과 열(column)로 이루어져있습니다. 행(row)는 레코드(record)라고도 불립니..
데이터베이스의 자료형(Data Type) 자바라는 프로그래밍 언어는 데이터 타입을 5가지로 분류했습니다. 정수, 실수, 논리, 문자, 참조변수 그렇다면 데이터베이스는 데이터를 어떻게 분류할까요? 데이터베이스는 데이터를 저장하기 위해 사용합니다. 데이터베이스도 자료를 저장하기 위해 분류할 텐데 말이에요. 데이터 베이스에서 주로 사용되는 자료형은 크게 두가지로, 문자와 숫자로 나눌 수 있습니다. 이외에도 멀티미디어 데이터를 저장하기 위한 바이너리 데이터도 있습니다. 저장하는 데이터 타입 이름 문자 CHAR VARCHAR 숫자 INT SMALLINT 시간 DATE