728x90

@@@ SQL 13

12. MySQL Workbench (20)

MySQL Workbench https://www.mysql.com/products/workbench/ Workbench GUI환경 ※SQL을 MySQL 서버에 전송함으로써 데이터베이스 서버를 제어※ MySQL :: MySQL Workbench MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. My www...

10. 인터넷과 데이터베이스 (18)

Database Server Internet '인터넷'이 동작하기 위해선 컴퓨터가 몇 대가 필요할까? : 2대 최소한이면서 최대한인 2대. Internet : 각자 흩어져 있는 컴퓨터들이 '인터넷'으로 연결 되면서 "컴퓨터 간의 사회" 가 만들어 짐. => 한 대의 컴퓨터가 가지고 있는 한계를 초월하게 되었다는 것을 의미 한 대의 컴퓨터는 정보를 다른 컴퓨터에게 '요청' 다른 컴퓨터는 정보를 '응답' 한다. ex) 웹 : 웹이 동작하기 위해서는 인터넷이 필요하고, 인터넷 위에서 동작하기 때문에 두 대의 컴퓨터가 필요함. 한 대의 컴퓨터에는 웹 브라우져가 동작 웹 브라우져가 설치되어 있는 컴퓨터가 데이터가 담겨 있는 컴퓨터에 정보를 '요청' 데이터가 담겨 있는 컴퓨터는 웹 브라우져가 설치 되어 있는 컴퓨터..

9. 관계형 데이터베이스의 꽃 JOIN (17)

관계형 데이터베이스의 꽃 JOIN 각각 독립적인(분리된) 테이블을 읽을 때, 그 테이블이 하나의 테이블로 저장되어 있었던 것과 같은 효과. 테이블과 테이블을 JOIN 하기 위해서는, 데이터베이스가 어떠한 목적을 가지고 있는지를 말할 수 있어야 한다. SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id; topic 테이블의 author_id 값과, author테이블의 id 값이 같다 SELECT topic.id, title, description, created, name, profile FROM topic LEFT JOIN author ON topic.author_id = author.id; 행을 보기 편하게 바꾸고 싶을 때,, //오..

7. 관계형데이터베이스의 필요성 (15)

관계형 데이터베이스(Realtional Database)의 필요성 데이터베이스에 중복된 데이터가 있다 => 개선의 여지가 있다. 데이터가 많이 중복될수록 많은 문제가 야기됨(복잡하고 용량이 큰 데이터가 중복될수록) 1. 기술적, 경제적으로 엄청난 손실 2. 데이터를 수정해야 할 때, 낭비되는 시간 3. 데이터의 구분이 어려움 trade off : 장점이 생기면 단점도 생긴다. # 테이블을 분리하지 않으면, 모든 데이터를 한 눈에 볼 수 있기 때문에 직관적으로 데이터를 볼 수 있다. 데이터 변경 시, 여러번 변경해야함. # 테이블을 분리하면, 중복을 줄일 수 있음. 수정이 빠름. 데이터를 볼 때, 해당 데이터에 해당되는 별도의 테이블을 열어서 비교·대조해야 하는 불편함 저장은 분산, 볼 때에는 합쳐서

6. CRUD - Update, Delete (12~13)

Update # UPDATE 테이블명 SET 바꿀 내용 WHERE 바꿀 부분 # WHERE 을 제외하고 하면 모든 ROW가 바뀐다. (주의) UPDATE topic SET description = "Oracle is ...", title = 'Oracle' WHERE id = 2; Delete # DELETE FROM 테이블명 WHERE 조건; # DELETE도 마찬가지로 WHERE을 안 붙이면 전체가 삭제된다.(주의) DELETE FROM topic WHERE id = 5; ※ UPDATE나 DELETE의 경우 내용을 변경하고 삭제하는 역할을 하기 때문에 조심해서 사용해야함. 그래서 특히나 WHERE을 안 적는 실수를 하지 말아야 한다. WHERE 조심!!!

5. CRUD - Read (11)

Read # * 는 전체를 뜻하는 문자. # 테이블 전체를 보고자 할 때 # SELECT * FROM "테이블명" SELECT * FROM topic; # 테이블 특정 부분을 보고자 할 때 # SELECT 컬럼명 FROM "테이블명" SELECT id,title FROM topic; mysql select syntax에서 문법을 확인해본다. # select 뒤에는 컬럼의 목록이 나온다. SELECT "egoing", 1+1; # 테이블 특정 조건을 만족하는 부분을 찾고자 할 때 # SELECT 컬럼명 FROM "테이블명 WHERE 조건; SELECT id,title,created,author FROM topic WHERE author="egoing"; # 테이블 특정 조건을 만족하게 정렬하고 싶을 때 #..

4. CRUD - Create (9 ~ 10)

- CRUD 더보기 이 중 데이터베이스에서 특히나 create와 read는 무조건 있고 중요한 것. update와 delete의 경우에는 특수한 경우 없을 수 있음. (역사, 회계) Create #table의 구조를 파악하고 싶을 때 (Describe 의 desc) #DESC "테이블명"; DESC topic; # 행을 추가하기위한 코드 # INSERT INTO "테이블명" (속성들) VALUES(값들) INSERT INTO topic (title,description,created,author,profile) VALUES('MySQL','MySQL is ...',NOW(), 'egoing','developer'); # 테이블을 확인하기위한 코드 # SELECT 으로 확인 SELECT * FROM top..

3. 테이블 생성

명령어를 검색할 때 cheat sheet를 검색. - 엑셀과 데이터베이스의 차이점 엑셀의 셀안에는 아무 값이나 넣을 수 있지만 데이터베이스에서는 어떤 값이 들어갈지 정해야 함. 이는 언뜻 불편해 보일 수 있지만 데이터의 무결성과 일관성을 유지함으로써 데이터베이스의 안정성을 키우는 행위라고 볼 수 있다. CREATE TABLE topic( # 이름/데이터타입(길이)/옵션 id INT(11) NOT NULL AUTO_INCREMENT, # NOT NULL : 공백 X # AUTO_INCREMENT : 자동으로 증가(중복 x) title VARCHAR(100) NOT NULL, description TEXT NULL, created DATETIME NOT NULL, author VARCHAR(30) NULL,..

728x90