반응형

먼저 Oracle사에서 만든 MySQL이 점점 유료화가 되면서 자유재단에서 동일한 구조를 가진 MariaDB가 탄생했다.

MySQL이나 MariaDB나 똑같은 SQL이라고 생각하면 편리하다.

 

먼저 리눅스 CentOS 7 에 MariaDB를 설치하는 방법은 아래를 참고한다.

https://ansan-survivor.tistory.com/1185

 

[CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 설치하기, MySQL 계정 생성 암호 설정

MariaDB를 새로 설치할때, 기존의 것과 충돌 방지를 위해 삭제명령을 한번 해주면 좋다. 삭제 방법은 아래 참고. https://ansan-survivor.tistory.com/1184 [CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 제거하기..

ansan-survivor.tistory.com

 

이제 리눅스위에 SQL서버를 구축한 후, MySQL 계정생성, 간단한 DB생성 방법에 관한 것이다.

 

<계정 설정>

 

0.  SQL실행 명령 및 나가기 명령

  - 실행

mysql

mysql을 입력하면, 위와같이 MariDB &amp;gt; 으로 변경된다.

  - 나가기

exit

Bye가 뜨면 다시 Shell으로 나가진다.

 

 

1. 루트 계정 설정, 패스워드 변경

/usr/bin/mysqladmin -u root password

 

2. 루트 접속

mysql -u root -p

    패스워드 입력하면 접속 됨.

 

3. 새로운 계정 생성, 아이디와 패스워드를 생성.

 * wordpress-user : 내가 원하는 ID , your_strong_password : 내 패스워드 입력

CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';

 * 위에서 만든 wordpress-user 입력. 

CREATE DATABASE `wordpress-db`;
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
FLUSH PRIVILEGES;

exit

 

<DB 생성 및 조작>

데이터베이스 생성하는 방법은 아래와 같다.

CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name]

 - [ ] 에 들어가있는 것은 옵션이므로 생략 가능

 - 중복되는 db이름이 있으면 에러를 일으킴

 - [IF NOT EXITSTS] 라는 옵션값을 넣으면 해당 이름이 없다면 생성, 있다면 생성 안함

 - 나머지 옵션들은 쓰지 않으면 default로 생성 함.

 

 

1. 로그인 (여기서는 root로 로그인 했다)

mysql -u root -p

로그인 성공

    (옵션) 어떤 데이터베이스가 있는지 확인하기

SHOW DATABASES;

 

2. 새 데이터베이스 생성하기

CREATE DATABASE testdb;

위와 같은 메세지가 생성된것, 중복된 이름이면 에러 발생

    (옵션) 어떤식의 옵션으로 생성했는지 상세보기

SHOW CREATE DATABASE testdb;

어떤 옵션으로 생성했는지 뒤에 보여준다.

 

3. 해당 database 사용하기 (선택하기), 테이블 생성하기 - 테이블 생성을 위해서는 해당 db가 선택되어야 한다.

    3-1. db 선택

USE testdb;

선택이 되며, 프롬프트에 해당 db이름이 잡힌다.

    3-2. db에 아래와 같은 테이블을 생성해본다.

출처:&nbsp;https://www.everdevel.com/MySQL/creating-table/

    * 주의할점은 위에 따옴표는 ' 가  아닌 ` 이다. (1번키 왼쪽에 있는)

CREATE TABLE `student_tb` (
    `sno` int(11) NOT NULL,
    `name` char(10) DEFAULT NULL,
    `det` char(20) DEFAULT NULL,
    `addr` char(80) DEFAULT NULL,
    `tel` char(20) DEFAULT NULL,
    PRIMARY KEY (`sno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

    3-3. 테이블 생성 확인하기

SHOW TABLES;

    3-4. 필드가 잘 생성되었는지 확인하기

    -> DESC 테이블명

DESC student_tb;

 

4. 새로운 필드 삽입하기 (중간에 삽입하기)

  -> (student_db 테이블의 age라는 이름을 int형 타입으로 name뒤에 생성) 이라는 뜻이다.

ALTER TABLE student_tb ADD age int AFTER name;

name아래 age가 추가됨을 확인

5. 새로운 필드 삽입하기 (맨끝에 삽입하기)

  -> 맨뒤에 AFTER 필드명이 없으면 맨 아래 자동 생성된다.

ALTER TABLE student_tb ADD sex int;

 

6. 필드 삭제하기 (DROP 명령)

ALTER TABLE student_tb DROP age;

age가 삭제 된다.

7. 필드 수정하기 (CHANGE 명령)

ALTER TABLE student_tb CHANGE tel phone int;

tel이라는 이름이 phone으로 변경되었다.

 

8. db에 또다른 테이블 만들기, 그리고 삭제 해보기

    testdb 내 다른 테이블을 만든다.

 * 테이블 생성

CREATE TABLE `delete_tb` (
    `name` char(10) DEFAULT NULL,
    `tel` char(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 (확인)

SHOW TABLES;

 * delete_tb 을 삭제해보기

DROP TABLE delete_tb;

delete_tb가 삭제됨을 확인

 

 

 

(아래 블로그 출처)

https://www.everdevel.com/MySQL/creating-table/

 

everdevel

웹 입문 사이트 everdevel - HTML, CSS, JavaScript, jQuery, ReactJs, MySQL, PHP

www.everdevel.com

https://www.mysqltutorial.org/mysql-create-database/

 

MySQL CREATE DATABASE - Creating a New Database in MySQL

This tutorial shows you step by step how to use the MySQL CREATE DATABASE statement to create a new database in the MySQL server.

www.mysqltutorial.org

 

 

반응형

+ Recent posts