생활코딩 10

생활코딩 #MySQL 클라이언트 Workbench, 수업을 마치며

오늘 배운 것 명령어 기반(MySQL Moniter) GUI 기반(MySQL Workbench) 보통 명령어 기반 서버를 사용한다. 그 이유는 GUI에 들어가는 리소스를 아끼기 위해서이다. 서로 장단점이 있다. 맥락에 따라 사용할 것. MySQL Workbench 설치링크 : https://dev.mysql.com/downloads/workbench/ 서버가 있고 클라이언트가 별도로 있다. 서버를 중심으로 정말 많은 클라이언트가 있다. 서버를 사용하는 모든 앱, 웹, 데이터 분석 시스템들은 본질적으로 모두가 '클라이언트' 이다. 이 세상에는 어마어마하게 많은 MySQL 클라이언트가 있다. 자신에게 잘 맞는 클라이언트를 만나자! 수업을 마치며 다음 공부거리 SQL(관계형DB) > CRUD > READ > ..

생활코딩 #테이블 분리하기, JOIN

오늘 배운 것 테이블 분리하기 앞선 글에 적은 것처럼 테이블 분리는 데이터를 좀 더 효율적으로 관리하기 위함. 아래는 실습 코드 MariaDB [(none)]> use daco; Database changed MariaDB [daco]> SHOW TABLES; +----------------+ | Tables_in_daco | +----------------+ | topic | +----------------+ 1 row in set (0.008 sec) MariaDB [daco]> RENAME TABLE topic TO topic_backup; Query OK, 0 rows affected (0.041 sec) # 테이블 이름 변경 방법 -> 리네임 테이블 (이름) 투 (새이름); MariaDB [da..

생활코딩 #관계형 데이터베이스의 중요성

오늘 배운 것 기술을 배우면 본질과 혁신이 무엇인지 나눠서 파악해보자 본질 : 데이터베이스 = CRUD = 본질은 공통점이다 혁신 : 관계형 = 다른 혁신들과 차이점은? 관계형 데이터베이스의 필요성 데이터가 중복된다면 무언가 개선할 것 이 있다는 증거다 1억개의 데이터 중에 1천만개가 중복된다면? -> 용량이 큰 데이터가 중복된다면 경제적 손해 -> 수정이 필요하다면 많은 리소스가 필요 -> 데이터 추출이 명확하지 않을 수 있음 (ex. 동명이인) 등등 오늘 느낀 것 본질 CRUD를 잊지 말 것. 이제 본격적으로 기술을 배우기 시작한다. 테이블 분리, 조인, 이것들은 결국 데이터를 효율적이고 혁신적으로 관리하기 위함일 터, 이것은 저비용 고효율을 의미하겠지. 머리를 어떻게 굴리냐에 따라 데이터관리는 천지..

생활코딩 #SQL의 DELETE 구문(DELETE)

오늘 배운 것 SQL의 DELETE 구문 먼저 기본 문법은 아래와 같다. 싱글과 멀티로 나눠진다. #Single-Table Syntax DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias] [PARTITION (partition_name [, partition_name] ...)] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] #Multiple-Table Syntax DELETE [LOW_PRIORITY] [QUICK] [IGNORE] tbl_name[.*] [, tbl_name[.*]] ... FROM table_references [WHERE where_condition] D..

생활코딩 #SQL의 UPDATE 구문(UPDATE)

오늘 배운 것 SQL의 UPDATE 구문 우선 UPDATE 문법부터 보고 가자. 싱글 테이블과 멀티 테이블 2가지로 나뉘는 것으로 보인다. 공식문서 링크 #Single-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment_list [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] value: {expr | DEFAULT} assignment: col_name = value assignment_list: assignment [, assignment] ... #Multiple-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_refer..

생활코딩 #SQL의 SELECT 구문(READ)

오늘 배운 것 SQL의 SELECT 구문 -> READ ! # 13.2.10 SELECT Statement (SELECT SYNTAX) # [] 대괄호는 생략 가능하다 SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr] ... [into_option] [FROM table_references [PARTITION partition_list]] [WHERE where_condition] [GROUP BY {col_name..

생활코딩 #SQL의 INSERT 구문(CREATE)

오늘 배운 것 SQL의 INSERT 구문 -> CREATE # 테이블 안에 데이터 넣기 >>> INSERT INTO 테이블이름 (컬럼제목,컬럼제목,컬럼제목) VALUES(넣을값,넣을값,넣을값); # 데이터 확인하기 >>> SELECT * FROM 테이블이름 # 테이블 안에 데이터 넣기 [ INSERT INTO 테이블이름 (컬럼제목,컬럼제목,컬럼제목) VALUES(넣을값,넣을값,넣을값); ] ! MariaDB [(none)]> use daco Database changed MariaDB [daco]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | daco | | information_schema | | mysql |..

생활코딩 #MySQL 테이블의 생성, CRUD

오늘 배운 것 MySQL 테이블의 생성 테이블을 생성할 때 열의 데이터타입을 강제할 수 있다! (잘못된 정보가 컬럼에 기재되지 못하도록) ex. int, bigint NOT NULL : 값이 없는 것을 허용하지 않겠다라는 의미 NULL : 값이 없어도 혀용한다는 의미 AUTO_INCREAMENT : 행이 추가될 때마다 자동으로 1을 추가하라는 의미 VARCHAR : 베리어블과 캐릭터를 합친 약자 > PRIMARY KEY : 성능 / 중복 두가지 측면에서 쓰이는 식별자, 기본 키로 사용한다는 의미 MariaDB [(none)]> MariaDB [(none)]> use daco Database changed MariaDB [daco]> create table topic( -> id int(11) not nu..

생활코딩 #MySQL의 구조

오늘 배운 것 MySQL의 구조 관계형 데이터베이스는 스프레드 시트와 유사하게 표(table) 형태로 데이터를 저장한다 [표]가 모여 [스키마], [스키마]가 모여 [데이터베이스 서버]가 된다 [스키마]는 다른 말로 [데이터베이스] 라고도 한다 MySQL 서버 접속 데이터베이스의 장점 >>> 보안 >>> 차등적 권한 기능 -uroot : 관리자, 모든 권한을 가짐, 루트 권한으로 데이터를 다루는 것은 좋지 않다 -p 엔터 : 비밀번호 입력창 호출 MySQL 스키마(schema)의 사용 C:\Users\Daco>cd C:\Bitnami\wampstack-8.0.9-0\mariadb\bin C:\Bitnami\wampstack-8.0.9-0\mariadb\bin>mysql -uroot -p Enter pas..

생활코딩 #DATABASE2 - MySQL

오늘 배운 것 file 정보관리 도구 정보가 폭발적으로 증가하면서 파일만으로는 데이터를 관리하기 어려움 데이터를 쉽게 정리정돈할 수 있도록 데이터베이스 소프트웨어가 개발됨 1960년대 관계형 데이터베이스가 처음 개발됨 데이터를 표의 형태로 정리하고 검색을 빠르고 안전하게 가능 MySQL 1994년 스웨던에서 개발, 무료, 오픈소스, 관계형 데이터베이스 web이 폭발적으로 성장하면서 이를 관리할 데이터베이스를 찾게되었고, 무료면서 오픈소스인 MySQL은 좋은 대안이었다. 그리하여 웹과 함께 동반성장했고 현재 세 손가락안에 드는 데이터베이스로 자리매김하였다. 이제 MySQL을 통해 뒤죽박죽 되어버린 데이터를 깔끔하게 정리해보자. 데이터베이스의 목적 스프레드시트와 데이터베이스의 차이는 무엇인가? - 스프레드시..