✍🏻 16일 공부 이야기.
작성한 패스워드는 절대로 잊어버리지 말기!(나중에 찾을 수 없다고 한다ㅠ 나는 영문 이름을 소문자로 적어줬다)
패스워드를 정확하게 입력했고 MySQL 정상적으로 설치가 되었다면 mysql>
표시가 뜰 것이다!
Workbench는 주피터노트북처럼 사용자가 편하게 코드를 짤 수 있도록 UI가 들어간 프로그램!
코드를 짜고 ⚡ 표시를 눌러주면 실행된다!
✍🏻 용어 정리
데이터베이스(Database) : 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
DBMS(Database Management System) : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어(MySQL 같은거!)
관계형 데이터베이스(RDB : Relational Database) : 서로 간에 관계가 있는 데이터 테이블을 모아둔 데이터 저장 공간
SQL : 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
SQL 구성
💻 직접 사용해보자!
초반에는 터미널에서 사용해볼 예정. 터미널에선 ;
을 붙여줘야 즉시 실행됨.
SHOW databases;
: 현재 database 목록 확인CREATE database 데이터베이스이름;
: database 이름을 지정하여 생성USE 데이터베이스이름;
: 해당 database로 이동DROP database 데이터베이스이름;
: 해당 database를 삭제User 정보는 mysql이라는 데이터베이스에서 관리하고 있다.
그러므로 사용자 정보를 알기 위해선 mysql 데이터베이스로 이동 후 조회하면 된다.
USE mysql;
SELECT host, user FROM user;
: user 데이터베이스에서 host, user를 추출CREATE USER '사용자이름'@'localhost' identified by '비밀번호';
: 현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성CREATE USER '사용자이름'@'%' identified by '비밀번호';
: 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성DROP USER '사용자이름'@'localhost'
, DROP USER '사용자이름'@'%'
: 사용자 삭제. 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제해줘야함.👀 User 권환 관리
실습을 하기 위한 데이터베이스와 사용자를 생성해준다.
textdb
데이터베이스와 1234를 비밀번호로 가진 noma
라는 사용자를 생성해주었다.
CREATE DATABASE testdb;
CREATE USER 'noma'@'localhost' identified by '1234';
SHOW GRANTS FOR '사용자이름'@'localhost';
: 특정 사용자에게 부여된 모든 권한 목록 확인(외부 사용자라면 localhost -> %)GRANT ALL ON 데이터베이스이름.* to '사용자이름'@'localhost'
: 특정 데이터베이스의 모든 권한을 사용자에게 부여REVOKE ALL ON 데이터베이스이름.* to '사용자이름'@'localhost'
: 특정 데이터베이스의 모든 권한을 사용자에게 삭제cf) FLUSH PRIVILEGES;
: 수정된 내용이 적용되지 않았다면 새로고침!
실습을 진행하기 위해선 데이터베이스가 만들어져있어야한다. 실습환경을 먼저 구축해보자.
-- 다국어와 이모지를 사용할 수 있게하는 zerobase라는 데이터베이스 생성
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4;
데이터베이스 안에서 실제 데이터가 저장되는 형태로 행과 열로 구성된 데이터 모음.
CREATE TABLE 테이블이름
(
컬럼1이름 데이터타입,
컬럼2이름 데이터타입,
...
)
SHOW TABLES;
: 현재 데이터베이스 안에 있는 테이블 목록 확인DESC 테이블이름;
: 해당 테이블의 정보 확인