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