본문 바로가기

DB/SQL

(6)
[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와 매칭 된 모습을 확인할 수 있다.
[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' 벨류를 생성했다. 규칙은 칼럼 한 개당 벨류가 하나씩 있어야 한다. 만약 칼럼이나 벨..
[SQL기초] Table의 생성 데이터베이스를 생성하고 그 안에 Table을 생성한다. Table은 데이터베이스에서 핵심이라고 생각한다. 먼저 Table을 생성하기 앞서 Table이 뭔지부터 알아야 한다. 위 이미지는 Table에 구조를 나타낸 것이다. 행과 열로 구분이 가능하다. 2차원 배열을 연상케 한다. 이제 Table을 생성해보자. CREATE TABLE 이름( 필드이름 필드자료형 제약조건, 필드이름 필드자료형 제약조건, ); 여기서 제약조건 "NOT NULL"이 보인다 말 그대로 공백을 허용하지 않는다는 것이다. 즉, 이 필드는 꼭 데이터를 갖고 있어야 한다. id 뒤에 붙은 옵션은 "AUTO_INCREMENT" 자동으로 id 생성할 때마다 1씩 증가하는 것이다. 이로써 절때 중복이 될 수 없다. 또한 마지막으로 "PRIMAR..