MySQL
MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
사용자, 다중 스레드 RDBMS로서, 데이터의 안정성과 보안성을 제공합니다.
대부분의 운영 체제에서 작동하며, 웹 애플리케이션 개발, 데이터 분석, 빅 데이터, 클라우드 기반 애플리케이션 등에 많이 사용됩니다.
SQL(Structured Query Language)을 사용하여 데이터를 관리합니다.
SQL은 데이터베이스에 저장된 데이터를 조작하기 위한 표준적인 언어로서, 데이터를 검색, 삽입, 업데이트, 삭제하는데 사용됩니다.
MySQL은 이러한 SQL 문을 이용하여 데이터를 쿼리하고, 데이터의 무결성을 유지하며, 데이터베이스를 관리합니다.
MySQL은 사용이 간편하며, 대용량 데이터베이스를 처리할 수 있는 고성능 기능을 제공합니다.
또한, 오픈 소스로서, 다양한 개발자들이 지속적으로 개발 및 유지보수하고 있어, 사용자들이 다양한 문제들을 해결할 수 있는 방법을 제공합니다.
MAMP
MAMP는 "Macintosh, Apache, MySQL 및 PHP"의 약어로, macOS 운영 체제에서 웹 개발을 위해 필요한 서버 소프트웨어를 쉽게 설치하고 설정할 수 있도록 도와주는 소프트웨어 패키지로 Apache 웹 서버, MySQL 데이터베이스 서버 및 PHP 스크립트 언어를 포함하며, 웹 개발자가 자신의 컴퓨터에서 웹 사이트 또는 웹 응용 프로그램을 개발하고 테스트할 수 있도록 도와줍니다. MAMP는 간단한 설치 과정을 통해 사용자가 웹 서버를 설정하고 구성할 수 있도록 해주므로, 개발자들에게 매우 인기 있는 도구 중 하나입니다.
설치링크
https://www.mamp.info/en/downloads/
실행 ( mac, window )
먼저 MYSQL을 실행하기 위해서는 명령프롬포트를 통해서 로그인해야합니다. 맥은 터미널을 사용합니다.
로그인과 디렉토리 준비
윈도우 : cd C:\MAMP\bin\mysql\bin를 입력하거나 드래그를 하여 경로를 설정합니다.
로그인 : mysql -uroot -proot
*세미콜론(;) 사용금지
맥 : cd /Applications/MAMP/Library/bin를 입력하거나 드래그하여 경로를 설정합니다.
로그인 : ./mysql -uroot -proot
로그인 후 이런 문장이 나왔다면 성공입니다.
Last login: Mon Mar 13 17:32:10 on ttys000
siyeonk@SiyeonKui-MacBookPro ~ % cd /Applications/MAMP/Library/bin
siyeonk@SiyeonKui-MacBookPro bin % ./mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.7.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
데이터 베이스 보기
show databases; 입력하면 데이터 베이스를 보여줍니다. 로그인을 한 직후이기에 현재 데이터는 없습니다.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
데이터 베이스 만들기
create database; : 데이터 베이스를 만듭니다.
create database sample01; 이라 입력하면 sample01이라는 이름을 가진 데이터가 만들어집니다.
mysql> create database sample01;
Query OK, 1 row affected (0.00 sec)
show databases;를 입력하면 현재의 데이터를 보여줍니다.
sample01이라는 데이터가 만들어졌습니다.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sample01 |
| sys |
+--------------------+
5 rows in set (0.00 sec)
데이터베이스 사용
mysql> use sample01;
Database changed
데이터베이스 삭제
drop 데이터베이스 이름; 을 입력하면 해당 데이터를 삭제합니다.
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.01 sec)
테이블
테이블 만들기
데이터와 동일합니다. create table 이름; 을 입력합니다.
mysql> use sample01;
Database changed
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.03 sec)
테이블 보기
show tables; 를 입력하면 테이블을 볼 수 있습니다.
mysql> show tables;
+--------------------+
| Tables_in_sample01 |
+--------------------+
| member |
+--------------------+
1 row in set (0.00 sec)
테이블 전체 보기
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)
테이블 삭제
mysql> drop table member;
Query OK, 0 rows affected (0.02 sec)
query ok라고 떴으니 삭제되었습니다.