본문 바로가기

DB

(11)
[SQL 기초] 관계형 데이터베이스의 꽃 Join 사용 Join은 두 개 이상의 Table을 합쳐 효율을 높이는 작업이다. 이 두개의 Table을 합치는 작업을 할것이다. SELECT * FROM topic left Join옵션 join author ON topic.author_id = author.id select * FROM topic left join author ON topic.author_id = author.id; 필자는 위와 같이 입력했다. 그 결과 Table은 위 이미지처럼 각각 topic Table의 author_id가 author Table의 id와 매칭 된 모습을 확인할 수 있다.
[DB] 관계형 데이터베이스 관계형 데이터베이스(RDB)는 기존에 데이터베이스를 작성하던 방식은 Table 하나의 데이터들을 모두 입력하여 효율을 낮아지는 기법을 사용했다. 이번에는 기존에 있던 Table에 중복되는 데이터들을 하나의 Table로 새로 정의하여 Table에 효율을 높이는 작업을 할것이다. 하지만 단점도 존재하는데 직관적이지가 않다. Table을 봤을때 위 그림처럼 팀코드만 보고 팀명과 연고지를 알 수 있는가? 물론 SQL을 통해서 서로 다른 Table을 붙일 수 있다. 그것을 Join 이라고 말한다.
[SQL 기초] DELETE 문 DELETE는 CRUD에서 D(Delete)에 해당된다. Table에 데이터를 삭제하는 구문이다. 가장 먼저 SELECT 문을 타이핑해서 기존에 Table이 어떻게 구성되었는지 확인한다. DELETE FROM 테이블명 WHERE 필드명 = '조건'; 확인 후에 삭제하고 싶은 레코드를 선택해 DELETE 구문을 통해 삭제를 한다. 위 cmd 창에 id 4번이 모두 삭제가 된 걸 확인할 수 있다. UPDATE와 마찬가지로 WHERE문으로 정확히 뭘 삭제할지 지칭해주지 않으면 테이블에 모든 값들이 삭제되기 때문에 주의해서 사용해야 한다.
[SQL 기초] UPDATE 문 UPDATE는 CRUD에서 U(Update)에 해당된다. Table에 데이터를 수정하는 구문이다. 가장 먼저 SELECT 문을 이용해서 기존에 Table이 어떻게 구성되었는지 확인한다. 확인 후에 수정하고 싶은 레코드를 선택해 UPDATE 구문을 통해 수정을 한다. 위 cmd 창에 "data administrator" -> "data engineer"로 바뀐 것을 확인할 수 있다. UPDATE table명 SET 컬럼명='수정문' WHERE id=id값; 주의할 점은 WHERE를 설정을 안할시에는 큰 문제가 된다. 모든 값들이 자기가 수정한 값으로 수정되게 된다. 기업이나 보험사같은 수천 개 수만 개에 데이터를 관리하는 업체에서는 백업을 해두겠지만 WHERE문을 잘 못쓸 시 그야말로 재앙이다.
[SQL 기초] SELECT 문 SELECT는 CRUD에서 R(Read)에 해당된다. Table에 데이터를 읽어오는 구문이다. SQL에서 가장 많이 사용되는 구문이다. 아직까지 잘 모르겠지만 다른 프로그래밍 언어에서도 이 코드로 DB에 있는 값을 가져올 것이라고 유추해본다. SELECT * FROM topic; 을 입력했다. INSERT로 생성한 벨류들을 확인할 수 있어진다. *는 모든 칼럼을 의미한다. SELECT (Column) FROM (table); * 부분을 title,description,profile로 바꿀 시에 입력한 칼럼에 해당되는 칼럼들만 출력되는 것을 볼 수 있다. SELECT title,description,profile FROM topic; SELECT id,title,description,profile FROM..
[SQL기초] INSERT 문 INSERT는 CRUD에서 C(Create)에 해당된다. Table에 데이터를 생성하는 구문이다. INSERT INTO 테이블명 (COLUMN, COLUMN) VALUES (VALUE, VALUE); 생성한 Table Column에 값을 생성하는 코드이다. 이 코드로 실질적인 데이터베이스에 살을 입히는 작업이라고 할 수 있다. 이런 식으로 입력하면 된다. 처음에 입력한 것은 오타가 나서 에러가 발생했다. topic이라는 Table에 title, description, created, author, profile 칼럼에다가 각각 'MySQL', 'MySQL is...', NOW(), 'egoing', 'developer' 벨류를 생성했다. 규칙은 칼럼 한 개당 벨류가 하나씩 있어야 한다. 만약 칼럼이나 벨..
[DB 기초] CRUD가 무엇인가? CRUD는 정말 간단하다 소프트웨어에 기본적으로 가지고 있는 특성이며 데이터를 처리하기 위해서는 필수적으로 거쳐야 한다. 필수적인 4가지 요소에 앞글자만 따서 부르는 것이다. 이름 기능 SQL Create 데이터 생성 INSERT Read 데이터 읽기 SELECT Update 데이터 갱신 UPDATE Delete 데이터 삭제 DELETE
[SQL기초] Table의 생성 데이터베이스를 생성하고 그 안에 Table을 생성한다. Table은 데이터베이스에서 핵심이라고 생각한다. 먼저 Table을 생성하기 앞서 Table이 뭔지부터 알아야 한다. 위 이미지는 Table에 구조를 나타낸 것이다. 행과 열로 구분이 가능하다. 2차원 배열을 연상케 한다. 이제 Table을 생성해보자. CREATE TABLE 이름( 필드이름 필드자료형 제약조건, 필드이름 필드자료형 제약조건, ); 여기서 제약조건 "NOT NULL"이 보인다 말 그대로 공백을 허용하지 않는다는 것이다. 즉, 이 필드는 꼭 데이터를 갖고 있어야 한다. id 뒤에 붙은 옵션은 "AUTO_INCREMENT" 자동으로 id 생성할 때마다 1씩 증가하는 것이다. 이로써 절때 중복이 될 수 없다. 또한 마지막으로 "PRIMAR..