CREATE TABLE user(
id INT NOT NULL AUTO_INCREMENT,
email VARCHAR(500) NOT NULL,
name VARCHAR(500) NOT NULL,
nickname VARCHAR(500) NOT NULL,
pw VARCHAR(500) NOT NULL,
newdate DATETIME DEFAULT CURRENT_TIMESTAMP,
updatedate DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT user_pk PRIMARY KEY (id)
);
테이블에서 사용할 열의 이름을 id로 하고 열의 데이터 유형을 INT로 지정했다. 여기서 정의한 id는 사용자가 사용할 id가 아닌 식별을 위한 번호일 뿐이다. AUTO_INCREMENT는 자동으로 증가하는 값을 생성함을 나타낸다. 새로운 행이 삽입될 때마다 자동으로 증가한다.
DATATIME은 날짜 및 시간 데이터 유형을 지정한다. DEFAULT CURRENT_TIMESTAMP는 새로운 행이 삽입될 때 현재 날짜 및 시간이 자동으로 저장되는 것이다.
CONSTARAINT user_pk는 제약 조건의 이름을 지정한 것이다. PRIMARY KEY로 보통 각 행을 고유하게 식별하는데 위 코드에서는 id 열을 주 키로 설정했다.
CREATE USER 'myundb'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON myundatabase.* TO 'myundb'@'localhost';
FLUSH PRIVILEGES;
myundb로 user의 name을 정의하고 localhost로 로컬 머신에서만 접근을 허용한다라고 정의 하였다. IDENTIFIED BY 로 사용자의 암호를 설정하고 지정된 사용자에게 모든 권한 (ALL PRIVILEGES)을 부여했다.
ON myundatabase 테이블에 대한 권한과 권한을 받을 호스트(myundb@localhost)를 지정하고 FLUSH PRIVILEGES로 사용자 및 권한 관련 변경 사항을 즉시 적용하도록 하였따. 이 명령은 새로운 사용자나 권한을 추가했을 때, MySQL이 즉시 이를 적용하도록 한다.
MySQL 서버를 킬 때, 환경 변수 설정을 해야한다. 이를 위해서는 MySQL 서버의 경로를 알아야하는데, 경로는 보통
로컬 디스크 (C:) \ Program Files \ MySQL \ MySQL Server x.x \ bin
에 있다. 경로를 찾았으면, 고급 시스템 설정을 열고 환경 변수를 클릭한다.
그러면 사용자 변수와 시스템 변수가 나올텐데, 만약 사용자 변수의 PATH에 해당 경로를 추가하면 현재 사용자만 해당 경로를 사용할 수 있기 때문에, 모든 사용자가 MySQL 서버를 실행할 수 있께 하고 싶으면, 시스템 변수에 PATH를 추가 시켜야한다.
그리고 변경 사항을 적용한 후에는 시스템을 다시 시작하거나 로그아웃하여 변경 사항이 적용되도록 하는 것을 꼭 잊지말자.
'데이터 > SQL' 카테고리의 다른 글
MySQL 데이터베이스에 저장된 데이터 확인하기 (0) | 2024.04.09 |
---|---|
DB Index(SQL, NO SQL), Error Code: 1064 (0) | 2024.04.05 |