DB/MySQL

MySQL

kimddakki 2022. 4. 25. 11:55

MySQL

1. MYSQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여

   배포/판매하고 있는 데이터베이스(DataBase)이다.
2. 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스

   관리시스템(RDBMS), 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다.

 

 


MySQL 생성 및 권한

CREATE DATABASE [DB 이름];
// [DB 이름] 데이터 베이스 생성

CREATE DATABASE [DB이름] DEFAULT CHARACTER SET UTF8;
// 테이블 생성시 기본 인코딩을 UTF8로 설정!

SHOW DATABASES;
// 데이터베이스들의 목록을 보여줌

USE [DB 이름];
// [DB 이름]의 데이터 베이스 사용

DROP [DB 이름];
[DB 이름] 데이터베이스 제거

CREATE TABLE [TABLE 이름](
   TABLE COLUME DATA TYPE PRIMARY KEY 여부 등등
테이블 내부 속성(스키마)을 입력!!
);

제약조건
-> 데이터의 무결성을 지키기 위해 데이터를 입력 받을 때 실행되는 검사 규칙
1. NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다.
2. UNIQUE : 해당 필드는 서로 다른 값을 가져야만 합니다.
3. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다.
4. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만듭니다.
5. DEFAULT : 해당 필드의 기본값을 설정합니다.


DESC(DESCRIBE) [TABLE 이름];
// 데이터 구조(스키마) 확인

SHOW TABLES;
// DB안에 사용 가능한 테이블의 목록 확인

GRANT [권한 종류] ON 대상 TO 계정명 IDENTIFIED BY 암호 [WITH GRANT OPTION];
// 새로운 계정을 생성하고 권한을 부여하는 GRANT

FLUSH PRIVILEGES;
// 계정 생성 후에는 변경된 내용을 적용하기 위해 위 쿼리 실행

쿼리(Query) 설명

대상
 - *.* : 서버의 모든 데이터베이스, 테이블에 접근 가능
 - DB이름.* : 특정 DB의 모든 내용에 접근 가능
 - DB이름.TABlE이름 : 특정 DB의 특정 TABLE에 접근 가능
// IDENTIFIED BY 구문이 없을 시 비밀번호 없는 계정을 사용.

모든 권한을 가진 계정 생성

GRANT ALL ON *.* TO test@localhost IDENTIFIED BY "test1234";
FLUSH privileges;

특정 데이터베이스에 조회 권한을 가진 계정 생성

GRANT SELECT ON test.* TO test@localhost IDENTIFIED BY "test1234";
FLUSH privileges;​


 

 

MySQL #1_ Database 및 Table 생성, 확인, 제거, 수정

안녕하세요. 데이터베이스를 학교에서 공부중에 있는데 MySQL을 사용하여 수업을 하고 있습니다. 따라서 MySQL에서 사용되는 명령어들을 정리할겸 포스팅을 진행하려 합니다. 각각의 명령어들을

doorbw.tistory.com