반응형
말랑Cow
IT
말랑Cow
전체 방문자
오늘
어제
  • 분류 전체보기 (165)
    • Linux (33)
    • Windows (6)
    • Network (7)
    • Hardware (10)
    • Zabbix (13)
    • python (9)
    • script (0)
    • docker (16)
    • NAS (1)
    • DB (3)
    • php (33)
    • jQuery (1)
    • 정보보안기사 (0)
    • Ajax (1)
    • Javascript (21)
    • DELL (0)
    • HPE (0)
    • Secui (0)
    • AWS (2)
    • Elastic (0)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자빅스
  • Linux
  • 서버
  • 네트워크
  • Python
  • bash
  • 파이썬
  • php
  • 리눅스
  • php 클래스
  • ZABBIX
  • php 객체
  • 모니터링
  • Shell
  • docker
  • jQuery
  • CentOS
  • JavaScript
  • 자바스크립트
  • 도커
hELLO · Designed By 정상우.
말랑Cow

IT

[mysql] DB / USER / TABLE 생성
DB

[mysql] DB / USER / TABLE 생성

2022. 3. 3. 14:54
반응형

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
    'DB' 카테고리의 다른 글
    • [centos6] mongodb 설치
    • [mysql] general_log
    말랑Cow
    말랑Cow

    티스토리툴바