본문 바로가기
Javascript

MySQL 알아보기

by 코딩 척척학사 2022. 9. 14.
728x90

MYSQL 알아보기

MySQL은 데이터베이스 소프트워에어입니다. 일반적으로 데이터를 추가하거나 검색, 추출하는 기능을 포함해서 데이터베이스라고 부릅니다.

> MYSQL ?

MySQL은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리시스템(RDBMS)입니다. MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스로 개발된 무료 프로그램입니다. 그래서 홈페이지나 쇼핑몰(워드프레스, cafe24, 제로보드, 그누보드)등 일반적으로 웹 개발에 널리 사용하고 있습니다.


> MYSQL 설치

MAMP란 웹사이트를 개발할 때 쓰이는 기술 스택인 macOS, Apache, MySQL, PHP 의 약어이자 솔루션 스택입니다. 다음의 링크에 들어가서 MAMP를 다운받을 수 있습니다.
https://www.mamp.info/en/downloads/


> MYSQL 실행

명령 프롬프트를 실행해 다음의 명령어를 입력하거나, 경로로 이동해 mysql을 실행합니다. 경로 → 로그인의 순서로 진행합니다.

** 윈도우 **
경로 : cd MAMP/bin/mysql/bin
로그인 : mysql -uroot -proot

** 맥 OS **
경로 : cd Application/mamp/Library/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 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.

// 맥 OS
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 188
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 sample01;
Query OK, 1 row affected (0.00 sec)

> 데이터베이스 보기

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

> 데이터베이스 사용

use 데이터베이스 이름;
mysql> use sample01;
Database changed

> 데이터베이스 삭제

drop database 데이터베이스 이름;
mysql> drop database sample02;
Query OK, 0 rows affected (0.02 sec)

테이블

> 테이블 만들기

creaste table 데이블 이름;
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,
    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)

> 테이블 보기

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.00 sec)

> 테이블 삭제

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

테이블 데이터

> 데이터 입력하기

INSERT INTO 테이블이름(필드명) VALUE(데이터);
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('w***@naver.com','황*연','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('t***@naver.com', '송*희', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('m***@naver.com', '김*정', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('t***@naver.com', '김*준', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('j***@naver.com', '정*비', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('l**@naver.com','이*환','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('s***@naver.com','박*신','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('t***@naver.com', '김*준', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('k***@naver.com','권*비','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('p***3@gmail.com', '문*내', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('g***@gmail.com', '황*진', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('e***@naver.com','김*원','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('w***@gmail.com','전*연','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('n***@gmail.com','권*현','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('h***@gmail.com','강*지','1234','19990303','1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('s***@gmail.com', '박*혜', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUE('k***@gmail.com', '김*언', '1234', '19990303', '1234567');
INSERT INTO member(youEmail, youName, youPass, youBirth, regTime) VALUES('p***@gmail.com', '이*은', '1234', '19990303', '1234567');

> 데이터 불러오기

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

◆ 전체 데이터 불러오기

mysql> SELECT * FROM member;
+------------+--------------------------+---------+---------+----------+---------+
| myMemberID | youEmail                 | youName | youPass | youBirth | regTime |
+------------+--------------------------+---------+---------+----------+---------+
|          1 | h***@gmail.com           | 강*지   | 1234    | 19990303 | 1234567 |
|          2 | w***@naver.com           | 황*연   | 1234    | 19990303 | 1234567 |
|          3 | t***@naver.com           | 송*희   | 1234    | 19990303 | 1234567 |
|          4 | m***@naver.com           | 김*정   | 1234    | 19990303 | 1234567 |
|          5 | t***@naver.com           | 김*준   | 1234    | 19990303 | 1234567 |
|          6 | j***@naver.com           | 정*비   | 1234    | 19990303 | 1234567 |
|          7 | l***@naver.com           | 이*환   | 1234    | 19990303 | 1234567 |
|          8 | k***@naver.com           | 김*현   | 1234    | 19990303 | 1234567 |
|          9 | s***@naver.com           | 박*신   | 1234    | 19990303 | 1234567 |
|         10 | t***@naver.com           | 김*준   | 1234    | 19990303 | 1234567 |
|         11 | k***@naver.com           | 권*비   | 1234    | 19990303 | 1234567 |
|         12 | p***@gmail.com           | 문*내   | 1234    | 19990303 | 1234567 |
|         13 | g***@gmail.com           | 황*진   | 1234    | 19990303 | 1234567 |
|         14 | e***@naver.com           | 김*원   | 1234    | 19990303 | 1234567 |
|         15 | w***@gmail.com           | 전*연   | 1234    | 19990303 | 1234567 |
|         16 | n***@gmail.com           | 권*현   | 1234    | 19990303 | 1234567 |
|         17 | s***@gmail.com           | 박*혜   | 1234    | 19990303 | 1234567 |
|         18 | k***@gmail.com           | 김*언   | 1234    | 19990303 | 1234567 |
|         19 | p***@gmail.com           | 이*은   | 1234    | 19990303 | 1234567 |
|         20 | o***@naver.com           | 최*주   | 1234    | 19990303 | 1234567 |
+------------+--------------------------+---------+---------+----------+---------+
20 rows in set (0.00 sec)

◆ myMemberID가 6번인 경우

mysql> SELECT * FROM member WHERE myMemberID = 6;
+------------+-------------------+---------+---------+----------+---------+
| myMemberID | youEmail          | youName | youPass | youBirth | regTime |
+------------+-------------------+---------+---------+----------+---------+
|          6 | j***@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 | w***@naver.com         | 황*연   | 1234    | 19990303 | 1234567 |
|          3 | t***@naver.com         | 송*희   | 1234    | 19990303 | 1234567 |
|          4 | m***@naver.com         | 김*정   | 1234    | 19990303 | 1234567 |
|          5 | t***@naver.com         | 김*준   | 1234    | 19990303 | 1234567 |
|          6 | j***@naver.com         | 정*비   | 1234    | 19990303 | 1234567 |
|          7 | l***@naver.com         | 이*환   | 1234    | 19990303 | 1234567 |
|          8 | k***@naver.com         | 김*현   | 1234    | 19990303 | 1234567 |
|          9 | s***@naver.com         | 박*신   | 1234    | 19990303 | 1234567 |
|         10 | t***@naver.com         | 김*준   | 1234    | 19990303 | 1234567 |
|         11 | k***@naver.com         | 권*비   | 1234    | 19990303 | 1234567 |
|         14 | e***@naver.com         | 김*원   | 1234    | 19990303 | 1234567 |
|         20 | o***@naver.com         | 최*주   | 1234    | 19990303 | 1234567 |
+------------+------------------------+---------+---------+----------+---------+
12 rows in set (0.00 sec)
728x90

댓글


HTML이 적힌 썸네일 이미지
CSS가 적힌 썸네일 이미지
JAVASCRIPT가 적힌 썸네일 이미지

JAVASCRIPT

자세히 보기