Backend/MYSQL
-
생활코딩( Database2 MySQL ) (11) - 인터넷과 데이터베이스Backend/MYSQL 2021. 6. 5. 15:35
1. 인터넷이란? 1-1) 인터넷의 최소 단위 동작하기 위해서는 최소 2개의 컴퓨터가 필요 한대의 컴퓨터가 갖는 정보의 한계를 인터넷 연결로 넘었다는 의미 갑(browser/web client) / 을(web server) === 관계 사용자 / 서비스제공자 가 통신하는 것 1-2) 서버 접속방법 MySQL clinet 종류 1) mysql monitor : 명령어 기반으로 제어, 다른 프로그램에서 명령어로 제어 가능, 명령어를 기억해야 함 2) mysql workbench : GUI, mouse 기반으로 제어, 사용이 편리한 대신 사용상의 제약 > web clinent가 (1) / (2)를 통해 database server와 접속하고 이는 다시 server와 접속 > server끼리 통신을 하여 WWW..
-
생활코딩( Database2 MySQL ) (10) - Relational Database(2)Backend/MYSQL 2021. 6. 2. 20:43
1. RENAME database 다음의 syntax 이용 RENAME TABLE TO > 이것을 이용해 기존 table을 save new topic / author 테이블을 다음과 같이 생성 2. TABLE JOIN 2-1) JOIN 이란? 1) 정의 : 일치하는 id값들을 가진 column을 이용하여 서로 다른 table을 이어주는 방법 ※ JOIN으로 조회하는 것 자체가 가상의 역할을 하는 새로운 table을 조합해낼 수 있다는 의미 RDB의 topic table이 게시판의 글들이라면, comment는 topic id를 보고있고, 댓글을 어떤 사용자가 적었는지 author table을 바라보고 있음 → author id=3의 profile 변경 시 topic과 comment table들을 수정하지 ..
-
생활코딩( Database2 MySQL ) (9) - Relational Database(1)Backend/MYSQL 2021. 6. 2. 14:09
1. Relational Database 1-1) 관계형 데이터베이스의 특징 기존의 single database로 다룰 수 없는 복잡성을 다룰 때 사용하게 됨 > 위의 경우에 egoing - developer 항목이 중복이 되는데 이 해당 부분을 다른 table의 데이터로 기입하고 해당 데이터를 현재 table에서 이어주는 것이 더 효율적 > 따라서 다음과 같이 author 컬럼을 따로 빼서 작성하는 것이 중복을 피할 수 있는 방식 1-2) RDB 장점 중복사용되는 데이터를 1회만 변경해도 변경사항이 반영 됨 중복되는 데이터를 방지 특정 필드를 따로 table로 관리하기 때문에 id값으로 유일자로 관리가 가능 eg) egoing / developer가 다른 사람이지만 2명이 있을 때 등... 1-3) R..
-
생활코딩( Database2 MySQL ) (8) - CRUD of DeleteBackend/MYSQL 2021. 6. 2. 14:05
1. Delete 다음의 syntax를 사용 DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table_name [PARTITION (partition_name [, partition_name] ... )] [WHERE where_condition] [ORDER BY ... ] [LIMIT row_count] 1-1) SQL script -- use opentutorials schema. USE opentutorials; -- see topics table. SELECT * FROM topic; -- delete unwanted row data DELETE FROM topic WHERE title='Egoin'; -- show topics for delete check SE..
-
생활코딩( Database2 MySQL ) (7) - CRUD of UpdateBackend/MYSQL 2021. 6. 2. 13:54
1. Update 다음 기본 syntax 사용 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET assignment list [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] assignment : col_name = value assignment_list : assignment [, assignment ] ... 1-1) SQL script -- select opentutorials schema. USE opentutorials; -- describe topic. DESC topic; -- select from topic SELECT * FROM topic; -- update topic I want UPDATE topi..
-
생활코딩( Database2 MySQL ) (6) - CRUD of SelectBackend/MYSQL 2021. 6. 2. 00:18
1. Select 다음 기본 syntax 사용 SELECT [] FROM [WHERE ] \ [ORDER BY [HOW]] [LIMIT ] 1-1) SQL script -- select columns inside table USE opentutorials; -- select everything \! echo select everything! SELECT * FROM topic; \! echo \! echo select few columns! -- params after SELECT are aka projections SELECT id, title, created, author FROM topic; \! echo -- select rows with condition -- eg) my name \! echo..
-
생활코딩( Database2 MySQL ) (5) - CRUD of InsertBackend/MYSQL 2021. 5. 31. 23:00
■ Insert 다음 syntax를 사용 INSERT INTO (parm1, parm2, ...) VALUES(var1, var2, ...); 1) SQL script -- select opentutorials schema USE opentutorials; -- show tables in schema SHOW TABLES; -- show row profile DESC topic; -- insert a row(data) in the table /* 1) id is a skip! 2) tabale parameters must be wrapped with VAULES() 3) NOW() is a function to call and get current time-date 4) ' ' + \ will allow..
-
생활코딩( Database2 MySQL ) (4) - SQL과 테이블 구조 & 테이블 생성Backend/MYSQL 2021. 5. 30. 22:08
■ SQL 데이터베이스와 interaction 하기 위한 컴퓨터 언어 관계형 database 제어하기 위한 언어 ( 표준화까지 되어있는 언어 ) ■ table의 형태 Column & Row ■ table 생성 SQL - 생성하고자 하는 table 1) sql 스크립트 사용 CREATE TABLE topic( id INT(11) NOT NULL AUTO_INCREMENT, title VARCHAR(100) NOT NULL, description TEXT NULL, created DATETIME NOT NULL, author VARCHAR(15) NULL, profile VARCHAR(200) NULL, PRIMARY KEY(id) ); mysql> source ※Mysql 8.0 이상에서 일어나는 현상인지..
-
생활코딩( Database2 MySQL ) (3) - MySQL 서버와 접속 / Schema 생성과 사용Backend/MYSQL 2021. 5. 30. 01:24
■ 서버로서의 역할 파일 / 폴더들이 OS의 관리 및 보안을 기반으로 하여 동작하듯, MySQL도 database server로써 schema / table을 동일하게 관리하도록 동작 > db 서버의 역할 자체 보안기능 권한(여러 권한을 가진 사용자들이 존재) - shcema/table에 대해 CRUD 각각에 대한 사용자의 권한을 부여/관리할 수 있음 ■ MySQL database 서버 접속 1) root 계정으로 접속하여 databse server에 접속한 상태로 만듦 ■ Schema 사용하기 \sql 문으로 sql 문인 것을 알려주고 시작 1) Schema 생성 CREATE DATABSE ; 2) Schema 삭제 DROP DATABSE ; 3) 존재하는 Schema Database server 안에..
-
생활코딩( Database2 MySQL ) (2) - MySQL 기본 구조Backend/MYSQL 2021. 5. 27. 22:06
■ MySQL의 복잡성 관리 > 기본적으로 CRUD의 기능을 SQL을 통해 수행 > 하나의 테이블일때는 비교적 관리가 간단하지만 복잡하게 증가할 수록 파일/폴더의 dir의 형식처럼 테이블 자체를 관리할 필요성이 나타나게 됨 여기에서 필요하게 된 연관된 표들의 집합체를 만들고 그것을 database(schema)라고 칭함 ※ dabase는 관습적으로 사용되기 때문에, table들을 관리하는 폴더의 역할을 하는 것을 schema라고 칭함 ■ Schema 연관된 table들의 집합체(group)을 의미 Schema들을 모아 놓은 것을, database server라고 함 ※ MySQL을 OS위에 설치하면 databse server 를 설치한 것과 동일 > 하위에 여러 schema들을 만들고 표를 관리할 수 있..