MySQL의 구조
데이터를 진행하는 최종적인 지점은 '표(Table)'다. 정보가 표에 저장이 된다. 표가 많아지면, 많아진 표들을 잘 정리정돈할 필요가 필요해진다. 파일에서 디렉토리 같은 것들이 필요해지는 것과 유사!
연관된 표들을 그룹핑해서, 연관되지 않은 표들과 분리하는 파일의 폴더 같은 개념이 있다. 이렇게 표들을 그룹핑 한것을 데이터베이스(Database)라고 한다. 의미가 좀 헷갈릴 수 있기 때문에 스키마라는 표현으로 쓴다.
스키마(데이터베이스)= 연관된 데이터들을 그룹핑한 것
*스키마 안에는 표들이 있다~*
데이터 베이스를 이해하는 가장 기본적인 요소
데이터베이스 서버라는 프로그램인 mysql을 우리는 설치한 것이고, 그 프로그램이 갖고 있는 기능성을 이용해서 데이터
와 관련된 여러가지 작업을 하게 되는 것이다.
데이터베이스 효용 1) 보안
데이터베이스는 자체적인 보안체계를 가지고 있다. 안전하게 데이터를 보관할 수 있다는 장점이 있다. 또, 권한기능이 있다. 예를들어, mysql에 여러 사람을 등록할 수 있는데, 사람마다 table/스키마 별 읽기/수정 등 부분적인 권한을 줄 수가 있다.
root= 관리자를 의미하고, 모든 권한이 열려있다.
중요한 시스템이라는 별도의 사용자를 만들어서 그걸로 이용하다가, 중요한 사안에만 root를 들어가는 방식을 추천.
mysql -uroot 로 데이터베이스 서버의 담장을 넘었다. 나는 Codeanywhere이기 때문에 비밀번호를 설정하지 않아서 그냥 -uroot로 입장했다. 아니 근데..그렇다면.......잠깐 전 포스팅에서 그렇게 비밀번호 찾으려고 난리 쳤는데 그냥 입장 가능했던 거 아닐까? 핳
혹시나 해서 cmd를 키고 들어갔더니 .. 아니나 다를까 비번 없이 DB서버 입장이 완료된거였다! 하하
데이타베이스(스키마) 생성하기
뒤에 menagerie는 생성하고 싶은 데이터베이스의 이름을 의미한다! 그리고 데이터베이스가 잘 생성되었는지, 확인하기 위해 "how to show database list in mysql"라고 구글링을 해서 확인해보자.
이제 저 데이터베이스(스키마) 안에 표를 만들건데, 이제 OPENTUTORIALS라는 이 스키마를 쓰겠다라고 알려줘야 한다. 그러면 이제부터 실행되는 명령이 해당 스키마 안에 있는 표들에게 해당되게 되는 거다. 이제 여기까지 표를 만들 수 있는 준비가 끝난 것이다!
지금까지 바깥 네모 상자 두 단계를 넘어왔다!
꿀팁! 윗쪽 화살표 누르면 앞줄에 썼던 코드 그대로 복붙이 된다!
SQL과 테이블의 구조
1) 본격적으로 SQL이라는 컴퓨터 언어를 배우게 될 것이다.
SQL= Stuctured Query Language
structure = 관계형 데이터베이스는 표를 기반으로 정리정돈 = 구조화 되었다
Query = 데이터베이스에게 데이터를 넣어줘, 읽어줘, 수정해줘, 삭제해줘 등의 요청/질의한다라는 의미에서 쓰인다.
Language = 데이터베이스가 이해할 수 있고, 우리도 이해할 수 있는 공통의 약속에 따라 데이터베이스 서버에게 요청을 해야 알아들을 수 있는 언어를 의미한다.
관계형 데이터베이스라는 카테고리에 속하는 제품들이 공통적으로 DB서버를 사용할 때 이용하는 표준화가 되어있는 언어다. 따라서 다수의 DB 시스템이 SQL을 이용해서 움직이고 있다! 즉, SQL은 쉽고 중요한 컴퓨터 언어다.
2) 표를 본격적으로 다뤄볼 것이다.
table, 표
수평 _ row, record,행 (데이터의 하나하나를 의미, ex. 2행 = 데이터가 두 건 있다는 것)
수직 _ column, 열 (데이터의 구조, type을 의미)
SQL 테이블의 생성
이 스프레드시트의 표를 SQL로 만들어보는 것이다.
코드는 심플하지만, 하나씩 살펴보자.
create table in mysql cheat sheet
검색해서 파악해보자.
엑셀과 MySQL의 결정적인 차이가 또 있다.
엑셀 칸 안에는 어떤 종류의 정보든 넣어도 상관이 없지만, MySQL은 사용자가 데이터를 넣을 때 반드시 숫자로 들어와야 한다/날짜로 들어와야 한다 등 강력히 규제& 해당 데이터type이 아니면 error를 송출할 수 있다는 것이다.
https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html
MySQL :: MySQL 8.0 Reference Manual :: 11.3.1 String Data Type Syntax
11.3.1 String Data Type Syntax The string data types are CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, and SET. In some cases, MySQL may change a string column to a type different from that given in a CREATE TABLE or ALTER TABLE statement. See Secti
dev.mysql.com
계속 구글링하면서 익숙해지자!
'💻 Deep Wide Programming > Mysql & Database' 카테고리의 다른 글
[생활코딩] DATABASE2 MySQL_delete (0) | 2020.08.09 |
---|---|
[생활코딩] DATABASE2 MySQL_Table 내용을 수정하고 싶을 때, UPDATE (0) | 2020.08.09 |
[생활코딩] MySQL SELECT Syntax (0) | 2020.08.09 |
[생활코딩] Database2_ MySQL Table 추가하기 (Insert) (0) | 2020.08.09 |
[생활코딩] Database1, Database 2_MySQL (Database의 탄생, spreadsheet와 mysql의 차이, mysql 다운로드 받고 실행시키기) (0) | 2020.07.30 |