반응형
1. DB 생성
mysql> create database 데이터베이스명
Query OK, 1 row affected (0.00 sec)
위 쿼리 하나로 DB 생성은 끝이다.
이제 DB를 생성했으니 권한을 주거나 테이블을 만드는 등의 작업을 해야한다.
2. 계정 생성
CREATE user '계정 아이디'@'localhost' identified by '비밀번호';
mysql> create user 'sjh'@'%' identified by 'test123';
Query OK, 0 rows affected (0.01 sec)
여기까지 하면 단순 계정만 생성한 것이다.
SQLyog나 localhost에서 mysql 접속 시 권한이 없으므로 데이터베이스는 보이지 않는다.
3. 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 to 계정명@'%' identified by '비밀번호'";
mysql> grant all privileges on testDB.* to 'sjh'@'%' identified by 'test123';
Query OK, 0 rows affected (0.00 sec)
testDB 라는 DB에 모든 테이블에 대한 권한을 준 것이다.
DB 이름은 가려놨지만 권한을 부여받은 DB를 포함한 총 3개의 row가 출력된 것을 확인할 수 있다.
4. 테이블 생성
테이블은 데이터베이스 안에 속해있는 것으로 테이블 작업시에는 먼저 해당 데이터베이스를 사용해주어야 한다.
USE DB명;
테이블 생성 문법은 다음과 같다.
create table 테이블명(
필드명 타입,
필드명 타입
PRIMARY KEY(필드명)
);
PRIMARY KEY는 테이블에서 레코드가 가지는 유일한 값을 지정하는 것이다.
학번, 이름, 학점 이라는 3개의 필드가 있는 학생과 관련된 테이블을 만든다고 가정해보자.
이름과 학점은 겹칠 수 있는 값이지만 학번은 겹치면 안된다.
학번 이름 학점 3개의 필드가 모인 하나의 행을 레코드라고 부르고 이 레코드 중 유일한 값을 가지는 학번을 PRIMARY KEY로 지정하는 것이다.
mysql> create table `api` (
-> `no` int(10),
-> `name` char(10) default null,
-> `clock` int(11) default null,
-> `result` char(100) default null,
-> primary key (`no`)
-> )
-> charset=utf8;
Query OK, 0 rows affected (0.06 sec)
mysql> desc api;
+--------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-----------+------+-----+---------+-------+
| no | int(10) | NO | PRI | 0 | |
| name | char(10) | YES | | NULL | |
| clock | int(11) | YES | | NULL | |
| result | char(100) | YES | | NULL | |
+--------+-----------+------+-----+---------+-------+
4 rows in set (0.00 sec)
api 라는 테이블을 만들었다.
선언한 필드는 no, name, clock, result 총 4개이고,
no는 정수 11자까지 입력 가능, name은 10byte까지 입력 가능하다는것으로 특정 글자를 넘어가지 않도록 제한을 뒀다.
반응형
'DB' 카테고리의 다른 글
[centos6] mongodb 설치 (0) | 2022.04.18 |
---|---|
[mysql] general_log (0) | 2021.07.08 |