MariaDB 기본 사용법
1️⃣ MariaDB 접속 및 인증 (mysql -u root -p)
MariaDB에 접속하기 위해서는 mysql
클라이언트 명령어를 사용합니다. 기본적으로 MariaDB는 root
사용자로 관리되며, 이 사용자는 데이터베이스 서버에 대한 모든 권한을 가집니다.
MariaDB 접속
MariaDB에 접속하려면 터미널에서 아래 명령어를 사용합니다.
mysql -u root -p
-u root
:root
사용자로 접속-p
: 비밀번호 입력을 요구
비밀번호를 입력하면 MariaDB 쉘로 접속됩니다. 접속 후에는 SQL 명령어를 입력하여 작업을 수행할 수 있습니다.
기본 인증
MariaDB에서 root
계정 외에도 다른 사용자 계정을 만들 수 있으며, 각 계정에 대해 권한을 설정할 수 있습니다. 예를 들어, 특정 IP에서만 접속을 허용하는 등의 설정이 가능합니다.
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
위 명령어는 user1
이라는 사용자를 생성하고, 모든 데이터베이스에 대해 권한을 부여합니다.
2️⃣ 기본 SQL 문법 (CRUD 연산)
SQL은 관계형 데이터베이스에서 데이터를 관리하는 데 사용되는 표준 언어입니다. MariaDB에서 데이터를 조작하는 가장 기본적인 방법은 CRUD 연산입니다.
1. Create (데이터 삽입)
데이터를 테이블에 삽입하려면 INSERT INTO
명령어를 사용합니다.
INSERT INTO users (name, age, email)
VALUES ('John Doe', 30, 'john.doe@example.com');
2. Read (데이터 조회)
테이블에서 데이터를 조회하려면 SELECT
명령어를 사용합니다.
SELECT * FROM users;
특정 조건에 맞는 데이터를 조회할 수도 있습니다.
SELECT name, email FROM users WHERE age > 25;
3. Update (데이터 수정)
기존 데이터를 수정하려면 UPDATE
명령어를 사용합니다.
UPDATE users SET age = 31 WHERE name = 'John Doe';
4. Delete (데이터 삭제)
데이터를 삭제하려면 DELETE FROM
명령어를 사용합니다.
DELETE FROM users WHERE name = 'John Doe';
3️⃣ 데이터베이스 및 테이블 생성 (CREATE DATABASE, CREATE TABLE)
MariaDB에서 데이터베이스와 테이블을 생성하는 방법은 매우 간단합니다.
1. CREATE DATABASE
새로운 데이터베이스를 생성하려면 CREATE DATABASE
명령어를 사용합니다.
CREATE DATABASE testdb;
생성된 데이터베이스에 접속하려면 USE
명령어를 사용합니다.
USE testdb;
2. CREATE TABLE
새로운 테이블을 생성하려면 CREATE TABLE
명령어를 사용합니다.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
email VARCHAR(100)
);
위 명령어는 users
라는 이름의 테이블을 생성하며, id
는 자동으로 증가하는 기본 키로 설정됩니다.
4️⃣ 데이터 입력 및 조회 (INSERT, SELECT)
MariaDB에서 데이터를 삽입하고 조회하는 방법을 다룹니다.
1. 데이터 삽입 (INSERT)
데이터를 테이블에 삽입하려면 INSERT INTO
명령어를 사용합니다.
INSERT INTO users (name, age, email)
VALUES ('Alice', 28, 'alice@example.com');
여러 개의 데이터를 한 번에 삽입할 수도 있습니다.
INSERT INTO users (name, age, email)
VALUES ('Bob', 24, 'bob@example.com'),
('Charlie', 35, 'charlie@example.com');
2. 데이터 조회 (SELECT)
테이블의 데이터를 조회하려면 SELECT
명령어를 사용합니다.
SELECT * FROM users;
특정 열만 조회하려면 다음과 같이 사용할 수 있습니다.
SELECT name, age FROM users;
조건을 추가하여 특정 데이터를 조회할 수 있습니다.
SELECT * FROM users WHERE age > 30;
5️⃣ 데이터 수정 및 삭제 (UPDATE, DELETE)
1. 데이터 수정 (UPDATE)
기존의 데이터를 수정하려면 UPDATE
명령어를 사용합니다.
UPDATE users SET age = 29 WHERE name = 'Alice';
이 명령어는 name
이 Alice
인 사용자의 나이를 29로 수정합니다.
2. 데이터 삭제 (DELETE)
테이블에서 특정 데이터를 삭제하려면 DELETE FROM
명령어를 사용합니다.
DELETE FROM users WHERE name = 'Bob';
위 명령어는 name
이 Bob
인 데이터를 삭제합니다.
6️⃣ 기본 데이터 타입 (VARCHAR, INT, TEXT, DATETIME, JSON 등)
MariaDB에서 사용되는 주요 데이터 타입은 다음과 같습니다.
1. VARCHAR
가변 길이 문자열을 저장할 때 사용됩니다. 예를 들어, 이름이나 이메일 주소 등을 저장하는 데 사용됩니다.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100)
);
2. INT
정수형 데이터를 저장할 때 사용됩니다. 예를 들어, 나이나 개수와 같은 숫자 데이터를 저장할 때 사용됩니다.
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
price INT
);
3. TEXT
긴 텍스트 데이터를 저장할 때 사용됩니다. 예를 들어, 설명이나 긴 글 등을 저장할 때 유용합니다.
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT
);
4. DATETIME
날짜와 시간을 저장할 때 사용됩니다.
CREATE TABLE events (
id INT AUTO_INCREMENT PRIMARY KEY,
event_date DATETIME
);
5. JSON
JSON 형식의 데이터를 저장할 때 사용됩니다. MariaDB 10.2 이상에서 사용 가능합니다.
CREATE TABLE user_profiles (
id INT AUTO_INCREMENT PRIMARY KEY,
profile_data JSON
);
7️⃣ Primary Key 및 Foreign Key 개념
1. Primary Key
Primary Key
는 테이블의 각 행을 고유하게 식별할 수 있도록 하는 열입니다. 각 테이블에는 하나의 Primary Key
만 존재할 수 있으며, NULL 값을 가질 수 없습니다.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100)
);
위 예제에서 id
열은 Primary Key
로 설정되어, 각 사용자 행을 고유하게 식별합니다.
2. Foreign Key
Foreign Key
는 다른 테이블의 Primary Key
를 참조하여 두 테이블 간의 관계를 설정하는 데 사용됩니다.
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
위 예제에서 orders
테이블의 user_id
는 users
테이블의 id
를 참조하는 외래 키로 설정됩니다. 이는 두 테이블 간의 관계를 정의합니다.