3 MySQL 테이블의 생성
source: categories/study/database/database3.md
3.1 MySQL 테이블의 생성 1
드디어 표(TABLE)를 다룰 수 있는 준비가 다 끝났습니다.
그럼 지금부터 SQL을 이용해서 표(TABLE)를 만들고 또 데이터를 추가하고, 읽고, 수정하고, 삭제하고 이것을 진행해보도록 하겠습니다.
이번 시간엔 표를 생성하는 것부터 먼저 해볼겁니다.
스프레드 시트를 기준으로 얘기하면 위와 같이 생긴 표(TABLE)를 만들겁니다.
id
, title
, description
, created
, author
, profile
총 6개 컬럼으로 되어있는 표(TABLE)를 만들겁니다.
지금부터 SQL이라는 언어로 표(TABLE)를 만들건데 2가지를 말씀을 드릴게요.
-
첫번째는 여러분이 표를 만드는 작업을 위해서 SQL을 직접짜는 일은 많지는 않을겁니다.
그러니까 표(TABLE)를 만들면서 너무 외우려고하거나 심란해하거나 그러지 않으셨으면 좋겠습니다. -
그리고 두번째는 아마 해보시면 아시겠지만 상당히 코드가 복잡해서 힘들게 느껴지실건데, 이걸 생각하셔야됩니다.
지금 우리가 갖고있는 데이터가 위 표를 보시면 5개잖아요?
고작 5개의 데이터를 위해 이런 행동을 한다는 것은 전혀 경제적이지 않은 건데, 우리의 데이터가 1억개가 있다, 우리가 관리해야될 표가 수백개가 있다, 라고하면
여러분이 그 많은 정보를.. 데이터베이스가 아닌 스프레드시트로 했을 때 생길 수 있는 어떤 문제점들이 분명히 있거든요?
그것을 극복하게 해주는 것이 바로 데이터베이스이다. 라고 생각하시고 긍정적인 마인드로 공부하셨으면 좋겠습니다.
위와 같이 opentutorials
를 사용할 준비를 끝내시면 되겠습니다.
3.1.1 이제부터 할 일 : table 생성
검색엔진에서 table 생성 방법을 검색하면됩니다. create table in mysql
아마 위와 같은 공식문서의 설명을 보면 보자마자 닫고 싶어질 것입니다.
엄청 복잡해보이기 때문입니다.
그래서 위와 같은 공식문서도 좋지만, 예제를 참고하는 것이 더 좋습니다.
팁을 알려드리겠습니다.cheetsheet
라는 것이 있습니다. 컨닝페이퍼라는 뜻인데, 우리가 자주 사용하는 것들을 잘 정리정돈해놓은 것이 cheetsheet
입니다.MySQL sql cheatsheet
라고 검색해보시면
이러한 페이지를 볼 수 있습니다.
위의 cheatsheet를 보시면 CREATE 형식이 어떻다 라고 다 적혀있습니다.
이런 형식들을 찾아보시면서 코딩을 하시면 됩니다.
CREATE TABLE topic(
글을 담는 표(TABLE) 이름을 topic
이라고 할겁니다.
그리고 위 상태에서 Enter를 치면 ;
세미콜론이 있지않는 이상 실행되지 않습니다.
;
세미콜론이 등장할 때까지 실행되지않고 명령어를 계속 입력할 수 있습니다.
3.1.2 첫번째 컬럼 id
저희가 만들 첫번째 컬럼은 id
입니다.
CREATE TABLE topic(
id
컬럼 오른쪽엔 type이라고 적혀있거든요?
즉, 이 id
라고하는 컬럼에 어떤 데이터가 들어와야되는가를 지정할 수 있는 겁니다.
그래서 위와 같이 엑셀, 스프레드 시트 같은 경우엔 컬럼 id
에 숫자를 넣었지만, 저 위치에 누가 문자
를 넣는다고해도 아무문제 없죠?
즉, 이러한 스프레드 시트는 값을 넣기에는 편합니다.
그런데 나중에 여기 들어있는 데이터를 꺼내서 처리를할 때 id
컬럼에 들어있는 값이 숫자인지 문자인지 날짜인지 스프레드 시트는 확신할 수 없습니다.
왜냐. 너무 자유분방하기 때문이죠.
그럼 어떤 제약이 생기죠?
데이터를 꺼낼 때마다 얘가 어떤 데이터 형식인지를 체크해야될 수도 있다는 말입니다.
그럼 굉장히 불편해질겁니다.
그리고 원하지않는 데이터가 입력돼버려서 데이터를 입력하는 사람한테 정정을 요청할 수도 없습니다.
그래서 이 데이터베이스는 스프레트시트와 분위기가 다릅니다.
어떻게 다르냐면, 분위기가 상당히 삼엄합니다. 엄격합니다.
그래서 id
컬럼에 숫자가아닌 문자를 넣으면 아예 데이터베이스가 동작하지 않습니다.
보기에따라선 불편하지만 나중에 편한겁니다.
그래서 id
컬럼엔 숫자만 오게한다. 그 중에서도 정수. 정수가 영어로 INTEGER 입니다.
그럼 검색엔진에서 검색을 해야겠죠? mysql datatype number
위와 같이 number datatype 관련 정보들을 볼 수 있다.
최대값, 최소값을 확인할 수 있고, Unsigned일 경우의 최대값 최소값도 확인할 수 있다.
CREATE TABLE topic(
id INT(11)
위와 같이 INT
라고 적어주고 소괄호 안엔 몇글자까지 출력할지를 설정해주는 것입니다.
데이터를 11자까지만 입력가능하게 하겠다가 아니라 11자까지 출력가능하다를 뜻하는 겁니다.
그리고 type 오른쪽엔 NOT NULL
이라고 되어있습니다.
CREATE TABLE topic(
id INT(11) NOT NULL
일단 위와 같이 NOT NULL
이라고 입력하겠습니다.
NULL
은 정보가 없다라는 뜻입니다.
NOT NULL
은 정보가 없으면 안된다라는 뜻입니다.
즉, id
값은 각 행들을 구분하기위한 사번, 학번과 같은 것입니다.
그럼 이 id
가 없으면 되겠어요 안되겠어요?
없으면 안됩니다. 반드시 있어야됩니다.
즉, 이런 경우에 NOT NULL
로 지정을하면, 나중에 데이터를 입력할 때 id
값을 입력안하면 데이터베이스에서 아예 거절을 해버립니다.
반드시 값이 있어야된다 NOT NULL
입니다.
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT
그리고 그 다음에 AUTO_INCREMENT
를 써줍니다.
increment는 증가이고 auto는 자동입니다.
우리가 표(TABLE)에 행을 추가할 때, 각 행들의 식별자로 id
를 쓰고싶다면, 이 id
컬럼에 들어오는 값은 다른 행들의 id
값과 절대로 중복되면 안됩니다.
그러기위한 가장 쉬운 방법은 새로운 행이 추가될 때, 추가된 행의 id
값을 이전행의 id
값에 +1을 한 값을 넣으면 id
는 중복되지 않으므로 식별자가 되는 것입니다.
그래서 조금 이해하시기 어려우시겠지만 AUTO_INCREMENT
라고 적어주시면 id
값을 자동으로 1씩 증가되게 할 수 있습니다. 굉장히 좋은 기능입니다.
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
위와 같이 뒤에 ,
콜론도 입력하시고 Enter를 누릅니다.
그럼 저희가 이제 컬럼 하나를 정의한 것입니다.
3.1.3 두번째 컬럼 title
title에 들어가는 데이터타입은 문자입니다.
그리고 문자의 길이가 제목은 대체로 짧죠?
너무 긴 제목은 저희가 막는 것이 더 낫습니다.
이런 경우엔 뭘 쓰면 되냐면, 이런 경우엔 지식이 필요합니다.
String Datatypes에 보면 VARCHAR
라는 것이 있습니다.
위에 보시면 VARCHAR에서 VAR는 variable-length 바뀔 수 있는, CHAR는 character의 약자입니다.
즉, 길이(length)가 바뀔 수 있는 문자라는 뜻입니다.
VARCHAR(size) 여기서 소괄호에 정한 size 만큼의 문자만 저장이됩니다.
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
위와 같이 입력하면, 100글자 이상이되면 잘라버립니다.
100글자가 넘어가지 않는 문자까지만 저장을 합니다.
이것이 VARCHAR
기능이라고 보시면됩니다.
그리고 마찬가지로 제목도 없으면 안되죠? NOT NULL
그리고 ,
콤마 Enter.
3.1.4 세번째 컬럼 본문 description
역시나 검색을 해봅니다.
위에 TEXT
를 보시면 멕시멈 65,535라고 되어있습니다.
65,535글자까지 저장할 수 있다는 뜻입니다.
그리고 그 아래 MEDIUMTEXT
, LONGTEXT
가 있습니다. LONGTEXT
는 4GB까지 저장할 수 있다는 뜻입니다.
그럼 처음부터 LONGTEXT
로 하면되는거 아니냐 라고 하실 수도 있지만, 컴퓨터는 물리적인 기계입니다.
그래서 LONGTEXT
로 한다는 것은 컴퓨터에 저장공간을 미리 LONGTEXT
를 담을 수 있을정도를 미리 확보하는 것이기 때문에 효율적이지 않습니다.
그래서 될수있으면 여러분이 저장하고자하는 데이터의 크기에 가장 가까운 사이즈의 데이터 타입을 지정하셔야됩니다.
안 그러면 데이터가 적을 때는 상관없는데, 많을 때 굉장히 비효율적이게 됩니다.
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
위와 같이 입력해줍니다.
3.1.5 네번째 컬럼 언제 생성됐는지 created
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
DATE
: 연월일TIME
: 시분초DATETIME
: 연월일시분초
3.1.6 5번째 컬럼 누가 썼는지 author
author는 이름이고 이름은 그렇게 길 필요가 없습니다.
그럼 VARCHAR
에서 한 15정도 하면 될겁니다.
그리고 익명일 수도 있으니까 NULL
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,
3.1.7 6번째 컬럼 profile
역시나 길 필요가 없을거 같습니다.
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
);
위와 같이 입력하고 Enter키를 누르면 에러가납니다.
다시 cheatsheet를 보면 PRIMARY KEY(Student ID)
라는 문구가 있습니다.
PRIMARY KEY를 Student ID로 한다는 뜻입니다.
그리고 PRIMARY KEY로 만들면 어떤 장점이 생기냐면,
위 시트에서 id
를 프라이머리 키로 설정하면, 새로운 row를 넣을 때, 새로운 row의 id
값을 4로했다면? 이미 id
가 4인 row가 있으므로 데이터베이스에서 거절을 합니다.
왜?
id
컬럼은 프라이머리 키이고 프라이머리 키는 각각의 행을 식별할 때 사용하는 가장 중요한 컬럼인데, 이 값이 이미 존재한다면 중복되므로 거절을 하는 겁니다.
프라이머리 키는 여러가지 의미가 있지만, 지금 여러분들이 챙겨두셔야될 의미는 중복을 방지한다. 라는 것입니다.
이것이 완벽한, 완전한 정의는 아닙니다.
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)
);
그래서 위와 같이 입력을 한 후 Enter를 치면
위와 같이 TABLE 생성에 성공합니다.
3.1.8 Error
그리고 하시다가 위와 같은 에러가 뜨실 수도 있습니다.
위에 진하게 표시된 부분을 보시면 You must reset your password
즉, 어떤 명령을 실행하기 전에 비밀번호를 바꿔야된다.
우리가 위에서 사용한 CREATE TABLE
이란 명령어는 되게 중요하고 위험할 수 있는 명령이잖아요?
그래서 아마도 mysql이 우리가 데이터베이스를 설치하고 자동으로 기본 비밀번호를 발급해줬을 때, 그걸 그대로 사용하면 위험한 명령어를 사용할 때 우리보고 그 비밀번호를 바꾸고 사용하라고 요청을 하는게 아닐까 싶습니다.
저도 정확하게 찾아보진 못했지만.
이런 문제를 만났을 때 당황하지마시고, 이 에러 자체를 카피사셔서 찾아보시면 여러분들과 똑같은 문제가 있었던 사람들을 만날 수 있습니다.
특히 stack overflow에 그런 것들이 많고, 인기있는 답변들 위주로 보시면 도움이 많이 되실겁니다.
SET PASSWORD = PASSWORD('111111');
현재 로그인되어있는 사용자의 패스워드를 111111
로 바꾼다는 명령어.
위를 실행하고 다시 CREATE TABLE
을 하면 에러없이 실행이 잘 될것입니다.
이번시간엔 테이블을 만드는 법을 살펴봤고 다음시간엔 실제 데이터를 추가하는 방법에대해 살펴보겠습니다.
MacOS에서 복습
3.2 MySQL 테이블의 생성 2
이제 표를 생성하고 그 안에 데이터를 넣고 빼고 할 수있는 준비가 다 끝났습니다.
그걸 위해서 표를 만드는 작업을 할겁니다.
표를 만드는 작업은 아래 명령어로 했습니다.
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)
);
최종적으로 우리가 작성하게될 코드의 내용은 위가 다입니다.
엄청 많아보이지만 하나하나 따져보면 엄청 많은 것도 아닙니다.
그리고 지금 보고계신 위 코드는 여러분이 살면서 얘를 작성할 일이 아주 많지는 않습니다.
데이터를 입력하고, 출력하고 이런건 너무나 많이 할 일이지만, 얘는 여러분들이 많이하진 않고, 여러분들이 어떤 소프트웨어를 사용하면 엑셀에서 표를 만드는 것처럼 아주 편리하게 직관적으로 할 수 있습니다. 코드를 몰라도.
하지만 지금 우리는 SQL
이라는 컴퓨터 언어를 배우는 과정에있고 또 SQL
말고도 데이터베이스의 특성, 왜 데이터베이스가 데이터의 양이 많아지고 데이터가 다양해지면 중요한 장점이 생기는가에 대한 그 특성을 공감하는 것도 우리의 목표이기 때문에 여기있는 코드를 우리가 하나하나 짜가면서 그런 데이터베이스 여러가지 측면들을 같이 살펴볼겁니다.
그래서 코딩 안하셔도돼고 제가 공유드릴 코드를 COPY & PASTE 해서 하시는 것도 좋습니다. 외울려고도 하지 마세요. 심란해하실 필요도 없습니다.
3.2.1 테이블 생성 능력 - 첫번째 컬럼 id
여러분들이 테이블을 생성하실 때 그 테이블을 어떻게 생성해야되는지에 대한 방법을 찾아내실 수 있는 능력을 가지고계시면 외울 필요가 없는겁니다.
그래서 검색을 해보겠습니다.
지금 제가 하려고하는 건 뭐에요?
create table in mysql
위와 같이 검색하면 검색 결과가 쭉 나옵니다.
검색 결과들 중에서
mysql 공식문서를 들어가보면 문법을 볼 수 있는데, 딱 보시면 답답하실겁니다. (내용이 너무 많아..)
그래서 처음부터 초보자가 위 공식문서를 보고 하는 경우는 없습니다.
create table in mysql cheat sheet
이번엔 위와 같이 검색해봅니다. cheat sheet란 컨닝 페이퍼라는 뜻입니다.
어떤 분야건 cheat sheet를 검색하시면 잘 정리정돈된 문서를 찾으실 수 있으실겁니다.
mysql 실행
- 터미널창에서 mysql 설치 폴더위치로 이동
./mysql -uroot -p
- 비밀번호 입력 - mysql 실행 완료
- mysql이 실행되었다면 어떤 database(schema)를 사용할건지 지정
USE opentutorials;
- database(schema)가 없다면 생성 - 그리고나서 table 생성하면 됨
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과 같은 database의 차이점
-
스프레드시트: 스프레드시트는
id
컬럼에 어떤 값이든 넣을 수 있다. 이는 데이터가 많지 않을 때는 편리합니다.
그러나 데이터가 엄청나게 많아진다면, 예를 들어 1억개가 넘는다. 그리고 그 데이터를 입력하는 사람이 어떤 전문화된 수련된 사람이 아니고 아무나 입력할 수 있다면?
그럼id
컬럼에다 1, 2, 3과 같은 숫자를 넣을 수도 있지만 a, b, c와 같은 문자도 넣을 수 있을겁니다.
나중에 기회가돼서 인터넷 서비스를 운영해보시면 사용자들이 정말 기상천외한 데이터를 입력합니다. -
데이터베이스(스키마): 그렇기 때문에 그런 상황에서는 사용자가 데이터를 넣을 때 그 데이터를 반드시 숫자로 들어와야된다, 혹은 날짜로 들어와야된다 라는 것을 강력하게 규제를 해야됩니다.
만약에 그거에 맞지않는 데이터를 입력할 때는 아예 입력을 거절하고 에러를 뱉어버리는 겁니다.
그 얘기는 "제대로 입력하세요"라고 사용자한테 말할 수 있다는 겁니다.
이렇게되면 데이터를 꺼낼 때 신경쓸 필요가 없게됩니다.
반드시id
컬럼의 값은 숫자다, 반드시created
컬럼의 값은 날짜,시간이다 라는 것을 확신할 수 있단말이죠.- 즉, 데이터베이스의 아주 중요한 기능: 컬럼의 데이터타입을 강제할 수 있다.
-
데이터 타입을 입력하기 위해 검색을합니다.
mysql data type number
Numeric Datatypes
Numeric Datatypes 부분을 보시면 INT
라는 데이터타입이 있습니다.
INT
는 정수값이고 값의 범위가 적혀있습니다. 음수포함일 경우와 음수가 없을 경우에 어디까지 표현할 수 있는지가 적혀있습니다.
데이터의 수가 INT
가 표시할 수 있는 숫자량보다 크다면 INT
말고 다른 데이터타입을 사용해야될 것입니다. (BIGINT
같은거)
그럼 애초에 큰 데이터를 담을 수 있는 BIGINT
같은거 사용하면 되는거아니냐 라는 의문을 가지실 수도 있는데 컴퓨터는 물리적인 도구입니다.
BIGINT
를 하게되면 그만큼 저장공간을 많이 차지하기 때문에 컴퓨터가 느려질 수도 있습니다.
그렇기 때문에 최대한 자신이 수용하고자하는 데이터의 최대값에 가장 가까운 데이터 타입을 여러분이 선택하시는 것이 좋은 방법입니다.
INT(11)
소괄호 안엔 몇글자까지 출력할지를 설정해주는 것입니다.
데이터를 11자까지만 입력가능하게 하겠다가 아니라 11자까지 출력가능하다를 뜻하는 겁니다.
그리고 id
값은 반드시 저장되어야하는 값입니다.
id
값이 없으면 나중에 삭제를 못합니다. 수정도 못하고. 왜냐면 찾을 수가 없기 때문입니다. 학번이나 주민번호같은 것입니다.
id
나 title
같은 경우는 반드시 있어야되지만, description
본문 같은 경우는 나중에 입력해도되겠죠?
이러한 것들을 스프레드시트는 못하는데 mysql은 할 수 있습니다.
NOT NULL
: 값이 없는 것을 허용하지 않겠다.
어떤 데이터를 삭제할 때 - ‘SQL Server'라는 제목을 가진 데이터를 삭제해 라고 하면 제목이 중복된 글들이 모두 삭제될 것입니다.
반면, id
가 3인 데이터를 삭제해 라고하면 id
는 겹치지 않으므로 정확히 id
가 3인 데이터만 삭제될 것입니다.
이렇게 하려면 id
값이 겹치지 않아야되고 id
값이 자동으로 +1 증가되어서 저장되게하면 이러한 목적을 이룰 수 있을 것입니다.
AUTO_INCREMENT
: 자동으로 1씩 증가시킵니다.
컬럼 하나를 생성하는데 처리해줘야될게 너무 많죠?
하지만 데이터베이스는 데이터를 1억개, 10억개.. 아주 복잡한 데이터를 처리하기위해 고안된 시스템이기 때문에 그런 심각한 상황에 있는 사람한테는 위와 같은 컬럼 생성? 정도는 아무것도 아닌겁니다.
3.3 MySQL 테이블의 생성 3
3.3.1 두번째 컬럼 title
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)
);
두번째 컬럼은 title
이란 이름을 갖고있습니다.
그리고 데이터 형식을 보니까 문자가 와야됩니다.
그리고 내용이 엄청나게 긴 내용이 오면 안되겠죠? 한 100글자 정도만 들어오면 좋겠습니다.
이러한 규제를 스프레드시트에선 못합니다.
mysql은 할 수 있습니다.
String Datatypes
- VARCHAR: variable character (변하는 문자) - variable의 진짜 의미는 데이터베이스의 내부사정을 반영하고있기 때문에 지금 설명드리는 것은 무의미합니다.
지금 단계에선 이렇게 이해하시면됩니다.
현재title
이란 컬럼에 사용자들이 100글자만 입력했으면 좋겠습니다.
만약 사용자가 1000글자를 입력한다면 100글자까지 잘라버려서 나머지 부분은 버려버리는겁니다.
3.3.2 세번째 컬럼 description
세번째 컬럼인 description
본문은 길이가 짧으면 안되겠죠?
길이가 긴 데이터 값은 어떻게할까요?
- VARCHAR: VARCHAR에 대한 설명을 찾아보면 255개까지의 문자를 허용한다고 되어있습니다.
- TEXT: TEXT는 65,535개 문자를 허용한다고 되어있습니다.
- LONGTEXT: 4GB의 문자를 저장할 수 있습니다.
description
은 TEXT
면 충분할 것 같습니다.
3.3.3 네번째 컬럼 created
네번째 컬럼에 담겨야되는 값은 날짜, 시간입니다.
Data/Time Datatypes
- DATETIME: 날짜와 시간 모두 표시합니다.
3.3.4 다섯번째 컬럼 author
문자이고 30글자정도에서 짜르면 될 거 같습니다.
- VARCHAR(30)
3.3.5 여섯번째 컬럼 profile
- VARCHAR(100)
PRIMARY KEY
-
PRIMARY KEY(id): 저희가 만드는 테이블의
id
컬럼이 PRIMARY KEY야 라는 뜻입니다.
PRIMARY KEY는 두가지 측면이 있습니다.- 성능적인 측면: 성능에 대한 얘기는 지금할 단계가 아닙니다.
- 중복을 방지하는 측면: 데이터베이스에게 말하는 겁니다.
id
컬럼은 고유한 값이어야만해!
Error
ERROR 1820(HY000): You must reset your password using ALTER USER statement before executing this statement.
비밀번호가 mysql에서 제공하는 기본값으로 되어있을 때 나타나는 오류인거 같습니다.
검색엔진에 위 에러를 그대로 검색하셔서 해결하시면 됩니다.
SET PASSWORD = PASSWORD('your_new_password');
테이블을 만드는 SQL
을 봤습니다.
그런데 SQL
은 중요한 것이 아니고 더 중요한 것은 데이터베이스가 여러가지 규제 정책을 가지고 있고 그 규제정책 덕분에 데이터를 깔끔하게 우리가 원하는 형식으로 유지하는데 큰 도움을 주겠구나 라는 그 느낌 그걸 받으셨으면 좋겠습니다.