Dragonball Online Goku Hand
본문 바로가기
MySQL

MySQL에 대해 알아보고 활용해봅시다!

by 별의 코비 2022. 9. 14.
728x90

📎 MySQL

MySQL은 데이터베이스 소프트웨어입니다.
일반적으로 데이터를 추가하거나 검색, 추출하는 기능을 모두 포함해서 데이터베이스라고 부릅니다.
MySQL은 세계에서 가장 많이 쓰는 오픈 소스의 관계형 데이터베이스 관리시스템(RDBMS)입니다.
MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스를 개발된 무료 프로그램입니다.

➰ MySQL 설치

MAMP란 웹사이트를 개발할 때 쓰이는 기술 스택인 macOS, Apache, MySQL, PHP 의 약어이자 솔루션 스택이다.
http://www.mamp.info/en/downlads/

➰ MySQL 실행

윈도우 : cs MAMP/bin/mysql/bin
로그인 : ./mysql -uroot -proot

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
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.

맥 : cs Application/mamp/Library/bin
로그인 : ./mysql -uroot -proot

hyehyeon@gwonhyehyeon-ui-MacBookAir 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 213
Server version: 5.7.34 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, 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.

📎 데이터베이스

➰ 데이터베이스 만들기

create database 데이터베이스 이름;

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

➰ 데이터베이스 보기

show databases;

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

➰ 데이터베이스 사용

use 데이터베이스 이름;

use sample01;
Database changed    

➰ 데이터베이스 삭제

drop database 데이터베이스 이름;

mysql> drop database sample02;
Query OK, 0 rows affected (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 테이블 이름;

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    |                |
| regTime    | int(20)          | NO   |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+
6 rows in set (0.01 sec)

➰ 테이블 삭제

drop table 테이블 이름;

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

📎 테이블 데이터

➰ 데이터 입력하기

INSERT INTO 테이블이름(필드명) VALUE(데이터)

INSERT INTO member(youEmail, youName, youPass, youBirth, youAge regTime) VALUES('webstoryboy@naver.com','황지락','1234','19990303','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('thdtjdgml415@naver.com', '송지락', '1234', '19970415','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('mo0647@naver.com', '김지락', '1234', '19970530','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('tjrwnsrkdtj@naver.com', '김지락', '1234', '19941009','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('jwor124@naver.com', '정지락', '1234', '19990303','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('leesh3432@naver.com','이지락','1234','19970205','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('sshin4882@naver.com','박지락','1234','19990303','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('to_before@naver.com', '김지락', '1234', '19970809','20', '04');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('kkb7528@naver.com','권지락','1234','19990303','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('piowm123@gmail.com', '문지락', '1234', '19990303','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('ghkddbwls96@gmail.com', '황지락', '1234', '19990303','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('eodnjs9605@naver.com','김지락','1234','19960530','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('wjsqhdus971007@gmail.com','전지락','1234','19971007','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('noeyheyh@gmail.com','권지락','1234','19960331','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('hjkang306@gmail.com','강지락','1234','19990303','20','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('sunhey9810@gmail.com', '박지락', '1234', '19981010','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUE('kde66034@gmail.com', '김지락', '1234', '19700101','20', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES('praise1109@gmail.com', '이지락', '1234', '19990303','20', '1234567');

➰ 데이터 불러오기

SELECT 필드명 FROM 테이블명 WHERE 조건명

➿ 전체 데이터 불러오기

mysql> SELECT * FROM member;
+------------+--------------------------+------------+---------+----------+---------+
| myMemberID | youEmail                 | youName    | youPass | youBirth | regTime |
+------------+--------------------------+------------+---------+----------+---------+
|          1 | noeyheyh@gmail.com       | 권지락     | 1234    | 19960331 | 1234567 |
|          2 | webstoryboy@naver.com    | 황지락     | 1234    | 19990303 | 1234567 |
|          3 | thdtjdgml415@naver.com   | 송지락     | 1234    | 19970415 | 1234567 |
|          4 | mo0647@naver.com         | 김지락     | 1234    | 19970530 | 1234567 |
|          5 | tjrwnsrkdtj@naver.com    | 김지락     | 1234    | 19941009 | 1234567 |
|          6 | jwor124@naver.com        | 정지락     | 1234    | 19990303 | 1234567 |
|          7 | leesh3432@naver.com      | 이지락     | 1234    | 19970205 | 1234567 |
|          8 | kkk5993@naver.com        | 김지락     | 1234    | 19960617 | 1234567 |
|          9 | sshin4882@naver.com      | 박지락     | 1234    | 19990303 | 1234567 |
|         10 | to_before@naver.com      | 김지락     | 1234    | 19970809 |       4 |
|         11 | kkb7528@naver.com        | 권지락     | 1234    | 19990303 | 1234567 |
|         12 | piowm123@gmail.com       | 문지락     | 1234    | 19990303 | 1234567 |
|         13 | ghkddbwls96@gmail.com    | 황지락     | 1234    | 19990303 | 1234567 |
|         14 | eodnjs9605@naver.com     | 김지락     | 1234    | 19960530 | 1234567 |
|         15 | wjsqhdus971007@gmail.com | 전지락     | 1234    | 19971007 | 1234567 |
|         16 | hjkang306@gmail.com      | 강지락     | 1234    | 19990303 | 1234567 |
|         17 | sunhey9810@gmail.com     | 박지락     | 1234    | 19981010 | 1234567 |
|         18 | kde66034@gmail.com       | 김지락     | 1234    | 19700101 | 1234567 |
|         19 | praise1109@gmail.com     | 이지락     | 1234    | 19990303 | 1234567 |
|         20 | oranssy@naver.com        | 최지락     | 3950    | 20010415 | 1234567 |
+------------+--------------------------+------------+---------+----------+---------+
20 rows in set (0.00 sec)

➿ myMemberID가 6번인 경우

mysql> SELECT * FROM member WHERE myMemberID = 6;
+------------+-------------------+------------+---------+----------+---------+
| myMemberID | youEmail          | youName    | youPass | youBirth | regTime |
+------------+-------------------+------------+---------+----------+---------+
|          6 | jwor124@naver.com | 정장첸       | 1234    | 19990303 | 1234567 |
+------------+-------------------+------------+---------+----------+---------+
1 row in set (0.00 sec)

➿ email 중에 naver 텍스트를 포함하고 있는 경우

mysql> SELECT * FROM member WHERE youEmail LIKE '%naver%';
+------------+------------------------+------------+---------+----------+---------+
| myMemberID | youEmail               | youName    | youPass | youBirth | regTime |
+------------+------------------------+------------+---------+----------+---------+
|          2 | webstoryboy@naver.com  | 황장첸     | 1234    | 19990303 | 1234567 |
|          3 | thdtjdgml415@naver.com | 송장첸     | 1234    | 19970415 | 1234567 |
|          4 | mo0647@naver.com       | 김장첸     | 1234    | 19970530 | 1234567 |
|          5 | tjrwnsrkdtj@naver.com  | 김장첸     | 1234    | 19941009 | 1234567 |
|          6 | jwor124@naver.com      | 정장첸     | 1234    | 19990303 | 1234567 |
|          7 | leesh3432@naver.com    | 이장첸     | 1234    | 19970205 | 1234567 |
|          8 | kkk5993@naver.com      | 김장첸     | 1234    | 19960617 | 1234567 |
|          9 | sshin4882@naver.com    | 박장첸     | 1234    | 19990303 | 1234567 |
|         10 | to_before@naver.com    | 김장첸     | 1234    | 19970809 |       4 |
|         11 | kkb7528@naver.com      | 권장첸     | 1234    | 19990303 | 1234567 |
|         14 | eodnjs9605@naver.com   | 김장첸     | 1234    | 19960530 | 1234567 |
|         20 | oranssy@naver.com      | 최장첸     | 3950    | 20010415 | 1234567 |
+------------+------------------------+------------+---------+----------+---------+
12 rows in set (0.00 sec)

댓글