분류 전체보기
SQL 소개
🔎 DBMS는 데이터의 조회, 저장, 삭제와 같은 작업은 SQL을 통해 처리한다. SQL ( Structured Query Language ) 직역해보면 구조화 된 질의 언어 이다. 즉, 어느 일정한 틀이나 패턴이 있다. 이러한 틀과 패턴에 맞게 조건들을 나열하기만 하면 SQL은 우리가 원하는 결과를 가져다 줄 수 있다. ✔ 질의어 ( Query Language ) 데이터베이스의 데이터를 읽고, 쓰기 위한 용도 질의(Query)는 영문을 그대로 발음하여 쿼리라고 도 부른다. SQL 의 특징 타 언어에 비해 배우고 사용하기 쉽다. 구조화 된 언어 집합적, 선언적 언어 ANSI, ISO표준 (DBMS 종류에 상관 없이 사용 가능) 개발자, DBA, DB 모델링 종사자 들이 필수로 알아야 하는 언어 RDBMS..
관계형 데이터 RDBMS, 제1정규화
🔎 가장 대표적인 데이터베이스 시스템, 관계형 데이터베이스 RDBMS 2차원 수평적 구조를 지니고 있다. - 데이터들을 2차원 구조를 가진 테이블 형태로 저장한다. 즉, 행과 열로 이루어져 있다! 데이터의 무결성, 트랜잭션 처리 등 데이터베이스 관리 시스템으로써의 기본적인 기능면에서 뛰어난 성능을 가지고 있다. 질의어를 사용해 데이터 접근을 한다. → 질의어 : 일정한 패턴이 있으며 이 패턴에 맞게 질의하고자 하는 조건들을 나열하면 찾고자 하는 정보를 검색해 준다. 데이터베이스의 구조를 잠깐 짚고 가자. 필드(Field) - 레코드 (Record) - 테이블 (Table) 필드 : 테이블의 열에 해당되는 것 (컬럼, 열) 레코드 : 필드들의 집합체, 테이블의 각 행(row) 인덱스 : 데이터베이스에서 데..
Database와 DBMS
데이터베이스란 ( Database, DB ) 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미한다. 핵심은 데이터베이스는 중복을 최소화하고, 다수의 사용자가 공유할 수 있도록 데이터들을 모아둔 시스템 인것이다. 데이터베이스는 혼자서 사용하는 시스템이 아니기때문에, 여러명의 사용자나 시스템간에 상호 공유가 가능해야 한다. 데이터베이스는 단순히 데이터가 모여있는것을 의미하는것이 아니라, 사용자 요구에 따라 필요한 데이터를 빠르게 검색할 수 있어야 하며, 데이터를 추가, 삭제, 수정 할 수 있도록 구성된 데이터의 집합체 이다. 한마디로 관련된 데이터를 모아 이를 통합하여 관리할 수 있도록 하는 것 이다. 데이터베이스 관리시스템 (DataBase Managemen..
MySQL 명령어
데이터베이스 생성 - CREATE DATABASE 데이터베이스명; 데이터베이스 목록보기 - SHOW DATABASES; 데이터베이스 삭제 - DROP DATABASE 데이터베이스명; 데이터베이스 선택 - USE 데이터베이스명; 테이블 생성 - CREATE TABLE 테이블명(필드명, 타입, 공백 여부 등등); 테이블 보기 - SHOW TABLES; 테이블 구조 보기 - DESC 테이블명; 필드 추가 - ALTER TABLE 테이블명 ADD 새로 추가할 필드명과 타입 (위치 설정[AFTER 필드명]); 필드 삭제 - ALTER TABLE 테이블명 DROP 삭제할 필드명; 필드명 변경 - ALTER TABLE 테이블명 CHANGE 기존 필드명 새로운 필드명 타입; 필드의 타입만 변경 - ALTER TABLE..
Toad 툴과 MySQL 연결
✔ Toad 설치 Toad Edge 툴을 이용하는 경우가 있다. https://www.toadworld.com/products/downloads?type=Freeware&download=toad-edge Download Toad World Downloads No matter which database platforms you use, we offer solutions that make your job easier than ever. Get fully functioning software free for 30 days or download freeware. www.toadworld.com 위 링크 들어가서 정보 입력 후 다운로드를 받으면 된다. 30일 만료기간이 있으므로 주의 ... 만료기간이 Oracle..
bad SQL grammar_Oracle과 MySQL의 차이
문제 상황 ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended ]을(를) 발생시켰습니다. java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended insert into - select - 문 select orders_seq.nextval from dual insert into orders(orderNo, customerId, totalPrice, message ,customerName, hp, zipcode, address, addressDetail ) values(#{..
MVC1 작업시 한글 인코딩이 안먹히는 경우
문제 상황 세미프로젝트 할때는 GIT에 서툴러서 직접 취합을 다 하다보니까 갑자기 한글인코딩이 먹히질 않았다. Eclipse를 사용했는데, 이클립스 단에서의 Encoding type을 바꿔줬으며, 코드 부분에서도 인코딩 처리를 했는데도 한글이 정상적으로 나오질 않아서 정말 한참을 헤맸다. 미리 데이터베이스에 저장 되어있는 정보는 한글 인코딩이 잘 나오는데, 웹에서 등록 혹은 수정 하면 한글이 깨져나오는 현상. 해결 방법 Tomcat의 web.xml의 505~518번째 줄 setCharacterEncodingFilter org.apache.catalina.filters.SetCharacterEncodingFilter encoding UTF-8 setCharacterEncodingFilter /* Tomca..
bad SQL grammar_동적 SQL문 이용(Mybatis Oracle)
문제 상황 ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00936: missing expression SQL문의 문법이 올바르지 않다고 나왔다. 바로 매퍼파일 들어가서 SQL문 확인 해결 방법 ${searchCondition} like '%' || #{searchKeyword} || '%' 써주고 그다음 써준다. where태그 를 쓰는 이유는 if태그가 여러개 일 경우가 있으니까 밖에다가 써주는게 좋다. (지금은 1개라서 실감이 안나지만..) 가령 and가 있더라도 where엘리먼트에 의해서 and나 or 이런 구문이 자동으로 삭제되고 적용된다. 위의 상황은 게시물에서 조건에 따라 검색을 할때에 쓰이는 sq..