My Melody Kawaii

MySQL

MySQL 사용방법을 알아보자!

younajeong 2023. 3. 13. 21:10

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

MySQL

 

"MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다."

 

  • MySQL은 다중 사용자, 다중 스레드 RDBMS로서, 데이터의 안정성과 보안성을 제공합니다. MySQL은 대부분의 운영 체제에서 작동하며, 웹 애플리케이션 개발, 데이터 분석, 빅 데이터, 클라우드 기반 애플리케이션 등에 많이 사용됩니다.
  • MySQL은 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다. SQL은 데이터베이스에 저장된 데이터를 조작하기 위한 표준적인 언어로서, 데이터를 검색, 삽입, 업데이트, 삭제하는데 사용됩니다. MySQL은 이러한 SQL 문을 이용하여 데이터를 쿼리하고, 데이터의 무결성을 유지하며, 데이터베이스를 관리합니다.
  • MySQL은 사용이 간편하며, 대용량 데이터베이스를 처리할 수 있는 고성능 기능을 제공합니다. 또한, 오픈 소스로서, 다양한 개발자들이 지속적으로 개발 및 유지보수하고 있어, 사용자들이 다양한 문제들을 해결할 수 있는 방법을 제공합니다.
  • MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스로 개발된 무료 프로그램입니다. 홈페이지나 쇼핑몰(워드프레스, Cafe24, 그누보드, 제로보드)에 가장 일반적인 웹 개발로 널리 사용되고 있습니다.

 

 

MySQL 설치

MAMP를 설치해 줍니다. 설치를 한 후 strat버튼을 눌러주면 실행이 됩니다.
MAMP란 웹사이트를 개발할때 쓰이는 기술 스택인 macOs, Apache, MySQL, PHP의 약어이자 솔루션 스택입니다.
 
 
MAMP시작화면

 

 

MySQL 실행

실행하기 위해 창에 먼저 "터미널"을 띄워줍니다.

 

창이  뜨면 실행시켜주기 위해 bin으로 들어가 로그인을 시켜줍니다.

 

윈도우
cd MAMP/bin/mysql/bin  cd/Applications/MAMP/Library/bin 
로그인 : mysql -uroot -proot 로그인 : ./mysql -uroot -proot

 

 

데이터 베이스 

-로그인까지 하면 이제는 데이터 베이스에 대해 알아보도록 하겠습니다. 데이터베이스는 4가지로 불러올 수 있습니다.

 

01. 데이터 베이스 보기

" show databases ; "

데이터 베이스를 보기위해 입력하는 방법입니다.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

 

02. 데이터 베이스 만들기 

" create  database 데이터 베이스 이름 ; "

데이터 베이스를 만드는 방법입니다. sample01이라는 데이터 베이스 이름을 넣어줬습니다.

mysql> create database sample01;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sample01           |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> 

 

03. 데이터 베이스 사용  

" use  데이터 베이스 이름 ; "

데이터 베이스를 사용한다고 설정해줍니다. use와 데이터 베이스 이름을 친다면 데이터베이스가 바꼈다는 문구가 뜹니다.

바뀐걸 다시 보고 싶다면 show databases를 사용해서 다시 볼 수 있습니다.

mysql> use sample01;
Database changed

 

04. 데이터 베이스 삭제  

" drop database 데이터 베이스 이름 ; "

데이터 베이스를 삭제하기 위해서는 drop을 사용해서 sample01 이름을 가진 데이터 베이스를 삭제시켜줄 수 있습니다.

mysql> drop database sample01;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

 

테이블 

-간단한 표를 작업하기 위해 테이블을 작업하는 방법은 4가지로 나눌 수 있습니다. 

-데이터베이스에서 작성한 'sample01'안에 테이블을 작업하는 방법입니다.

 

01. 테이블 만들기 

" creat table 테이블 이름 ; "

테이블이름  member와 그 값을 만들어 테이블을 만들어 줬습니다.

mysql> create table member (
    ->     myMemberID int(10) unsigned auto_increment,
    ->     youEmail varchar(40) NOT NULL,
    ->     youName varchar(20) NOT NULL,
    ->     youPass varchar(20) NOT NULL,
    ->     youBirth int(20) NOT NULL,
    ->     youAge int(5) NOT NULL,
    ->     regTime int(20) NOT NULL,
    ->     PRIMARY KEY (myMemberID)
    -> ) charset=utf8;
Query OK, 0 rows affected (0.02 sec)

 

02. 테이블 전체보기 

" show tables  ; "

완성된 전체 테이블을 볼 수 있습니다. 보면 tables sample 01안에 member라는 테이블이 들어간 걸 확인할 수 있습니다.

mysql> show tables;
+--------------------+
| Tables_in_sample01 |
+--------------------+
| member             |
+--------------------+
1 row in set (0.00 sec)

 

03. 테이블 보기 

" desc 테이블 이름  ; "

전체 테이블 안에 있는 데이터를 상세하게 볼 수 있습니다.

mysql> desc member;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| myMemberID | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| youEmail   | varchar(40)      | NO   |     | NULL    |                |
| youName    | varchar(20)      | NO   |     | NULL    |                |
| youPass    | varchar(20)      | NO   |     | NULL    |                |
| youBirth   | int(20)          | NO   |     | NULL    |                |
| youAge     | int(5)           | NO   |     | NULL    |                |
| regTime    | int(20)          | NO   |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+
7 rows in set (0.01 sec)

 

04. 테이블 삭제 

" drop table  테이블 이름  ; "

테이블을 삭제 시켜줄 수 있습니다.

mysql> drop table member;
Query OK, 0 rows affected (0.01 sec)

 

05. 테이블 복사

테이블을 복사하는 방법은 다양합니다. 각각의 방법을 특정 상황에 맞게 사용할 수 있습니다.

 

  • CREATE TABLE AS 문을 사용하여 새로운 테이블 생성 및 데이터 복사
CREATE TABLE new_table AS
SELECT *
FROM original_table;

예시에서는 new_table이라는 새로운 테이블을 생성하고 original_table의 데이터를 모두 복사합니다.

 

  • INSERT INTO문을 사용하여 기존 테이블에 데이터 복사
INSERT INTO new_table
SELECT *
FROM original_table;

예시에서는 new_table에 데이터를 추가하고 original_table의 데이터를 모두 복사합니다. 이 방법은 new_table이 이미 존재하고 데이터를 추가하려는 경우에 사용할 수 있습니다.

 

  • SELECT INTO문을 사용하여 새로운 테이블 생성 및 데이터 복사
SELECT *
INTO new_table
FROM original_table;

예시에서는 new_table이라는 새로운 테이블을 생성하고 original_table의 데이터를 모두 복사합니다. 이 방법은 new_table이 이미 존재하지 않는 경우에 사용할 수 있습니다.