maria DB 기초: 설치부터 유저 생성까지

1 minute read

mariaDB 설치하기(mac 기준)

brew install mariadb

mariaDB 서버 실행하기

mysql.server start

mariaDB 로그인하기

mysql -u root

데이터베이스 확인하기

SHOW databases;

데이터베이스 만들기

CREATE DATABASE bookstoredb;

데이터베이스 사용하기

USE bookstoredb;

테이블 생성하기

CREATE TABLE authorstbl;

다음과 같은 에러:

ERROR 1113 (42000): A table must have at least 1 column

따라서 데이터베이스 칼럼과 같이 생성:

CREATE TABLE authorstbl (
    -> AuthorID INT NOT NULL AUTO_INCREMENT,
    -> AuthorName VARCHAR(100),
    -> PRIMARY KEY(AuthorID)
    -> );

CREATE TABLE bookstbl (
    -> BookID INT NOT NULL AUTO_INCREMENT,
    -> BookName VARCHAR(100) NOT NULL,
    -> AuthorID INT NOT NULL,
    -> BookPrice DECIMAL(6,2) NOT NULL,
    -> BookLastUpdated TIMESTAMP,
    -> BookIsAvailable BOOLEAN,
    -> PRIMARY KEY (BookID), 
    -> FOREIGN KEY (AuthorID) REFERENCES authorstbl(AuthorID)
    -> );

여기에서 다양한 데이터 타입을 살펴볼 수 있음.

레코드 삽입하기

특정 칼럼만 삽입

INSERT INTO authorstbl (AuthorName) 
    -> VALUES ('Agatha Christie'), ('Stephen King'), ('John Clancy');

전체 칼럼 삽입

INSERT INTO bookstbl (BookName, AuthorID, BookPrice, BookIsAvailable) VALUES 
    -> ('And Then There were None', 1, 14.95, 1),
    -> ('The Man in the Brown Suit', 1, 23.99, 1),
    -> ('The Stand', 2, 35.99, 1),
    -> ('The Green Mile', 2, 23.99, 1),
    -> ('Jack Ryan - The Preque', 3, 24.99, 1);

레코드 확인하기

모든 레코드

SELECT * FROM authorstbl;

특정 레코드

SELECT * FROM authorstbl WHERE AuthorName='Agatha Christie';

특정 칼럼

SELECT authorstbl.AuthorName FROM authorstbl;

레코드 수정하기

UPDATE bookstbl SET BookPrice=14.99 WHERE AuthorID=2;

레코드 삭제하기

DELETE FROM bookstbl WHERE BookID=4;

Advanced Select Statement

SELECT CONCAT(bookstbl.BookName, ' (', authorstbl.AuthorName, ')') AS Description,
    -> bookstbl.BookPrice FROM authorstbl 
    -> JOIN bookstbl ON authorstbl.AuthorID = bookstbl.AuthorID;

Concat은 ( )안의 항목들을 이어서 보여줌.

JOIN에 대한 자세한 설명은 여기를 참조.

User 생성하기

Note: 유저를 생성하기 전, 원하는 데이터베이스에 접근해 있는지 확인할 것!

비밀번호를 통해 유저 확인

CREATE USER bookstoredbadmin@localhost IDENTIFIED BY 'PASSWORD';

권한 부여

GRANT ALL PRIVILEGES ON bookstoredb.* TO bookstoredbadmin@localhost;

새로고침

FLUSH PRIVILEGES;

참고 :

Tags:

Categories:

Updated:

Leave a comment