“ 당신이 6개월 이상 한 번도 보지 않은 코드는 다른 사람이 다시 만드는 게 훨씬 더 나을 수 있다. ”
MySQL 이란?
😎MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
- MySQL은 다중 사용자, 다중 스레드 RDBMS로서, 데이터의 안정성과 보안성을 제공합니다. MySQL은 대부분의 운영 체제에서 작동하며, 웹 애플리케이션 개발, 데이터 분석, 빅 데이터, 클라우드 기반 애플리케이션 등에 많이 사용됩니다.
- MySQL은 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다. SQL은 데이터베이스에 저장된 데이터를 조작하기 위한 표준적인 언어로서, 데이터를 검색, 삽입, 업데이트, 삭제하는데 사용됩니다. MySQL은 이러한 SQL 문을 이용하여 데이터를 쿼리하고, 데이터의 무결성을 유지하며, 데이터베이스를 관리합니다.
- MySQL은 사용이 간편하며, 대용량 데이터베이스를 처리할 수 있는 고성능 기능을 제공합니다. 또한, 오픈 소스로서, 다양한 개발자들이 지속적으로 개발 및 유지보수하고 있어, 사용자들이 다양한 문제들을 해결할 수 있는 방법을 제공합니다.
- MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스로 개발된 무료 프로그램입니다. 그래서 홈페이지나 쇼핑몰(워드프레스,Cafe24, 그누보드, 제로보드 등)에 가장 일반적으로 웹 개발에 멀리 사용하고 있습니다.
😀MySQL설치
MAMP
웹사이트를 개발할 때 쓰이는 기술 스택인 macOS, Apache, MySQL, PHP의 약어이자 솔루션 스택이다.
다운로드 : https://www.mamp.info/en/downloads/
저는 윈도우를 사용하기 때문에
윈도우를 선택해서 다운받았습니다.
다운이 완료되면 MAMP를 실행시켜줍니다.
Apach Server, MySQL Server에 불이 들어온다면 준비 완료입니다.
이제 명령 프롬프트인 CMD를 실행시켜줍시다.
실행시켜줬다면 이제 아랫글을 참고 바랍니다.
🤔MySQL 실행
windows
경로 : cd MAMP/bin/mysql/bin
로그인 : mysql -uroot -proot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.24 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
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.
Mac
경로 : sd /Applications/MAMP/Library/bin
로그인 : ./mysql -uroot -proot
🥰데이터베이스
데이터베이스 보기
- 문법 : show databases;
show databases
MySQL 서버에서 사용 가능한 모든 데이터베이스의 목록을 표시하는 SQL 명령입니다. 이 명령을 실행하면 MySQL 서버가 서버에 있는 데이터베이스 이름 목록을 반환합니다.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
데이터베이스 만들기
- 문법 : create database 데이터베이스 이름;
create database
MySQL에서 데이터베이스를 생성할 때 사용하는 SQL 명령어입니다. 이 명령어를 사용하여 새로운 데이터베이스를 만들 수 있습니다.
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)
데이터베이스 사용
- 문법 : use 데이터베이스 이름;
use
MySQL 서버에서 특정 데이터베이스를 사용하기 위해 사용하는 명령어입니다. 이 명령어를 사용하면 현재 세션에서 사용할 데이터베이스를 선택할 수 있습니다.
mysql> use sample01;
Database changed
데이터베이스 삭제
- 문법 : drop database 데이터베이스 이름;
drop database
"drop database"는 MySQL에서 데이터베이스를 삭제할 때 사용하는 SQL 명령어입니다. 이 명령어를 사용하면 해당 데이터베이스와 그 안에 있는 모든 테이블이 삭제됩니다.
drop database sample01;
Query OK, 0 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
🥰테이블
테이블 만들기
- 문법 : create table 테이블 이름;
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;
테이블 전체보기
- 문법 : show tables;
mysql> show tables;
+--------------------+
| Tables_in_sample01 |
+--------------------+
| member |
+--------------------+
1 row in set (0.00 sec)
테이블 보기
- 문법 : desc 테이블 이름;
desc
MySQL 서버에서 특정 테이블의 구조를 조회하기 위해 사용하는 명령어입니다. "desc"는 "describe"의 축약어로, 테이블의 각 열(column)에 대한 정보를 출력합니다.
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)
테이블 삭제
- 문법 : drop table 테이블 이름;
mysql> drop table member;
Query OK, 0 rows affected (0.01 sec)
테이블 복사
MySQL에서 테이블을 복사하는 방법에는 여러 가지가 있지만, 가장 일반적으로 사용되는 방법은 "CREATE TABLE AS SELECT" 문을 사용하는 것입니다.
ex)
CREATE TABLE new_table_name
AS
SELECT *
FROM original_table_name;
위의 예시에서 "new_table_name"은 새로 생성하려는 테이블의 이름이고, "original_table_name"은 복사하려는 원본 테이블의 이름입니다. 이 예시에서는 "SELECT *" 구문을 사용하여 원본 테이블의 모든 열(column)을 선택하여 새로운 테이블로 복사합니다.
"CREATE TABLE AS SELECT" 문을 사용하여 테이블을 복사할 때, 복사된 테이블의 구조와 데이터는 원본 테이블과 동일합니다. 즉, 열의 데이터 타입(data type), NULL 허용 여부, 기본값(default), 인덱스 등이 복사됩니다.