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
경로 : 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
'Javascript' 카테고리의 다른 글
배열 메서드2 (6) | 2022.09.27 |
---|---|
문자열 메서드 : startsWidth() / endsWidth() (1) | 2022.09.27 |
이벤트 메서드 알아보기 : mouseenter / mouseover (2) | 2022.09.06 |
문자열 결합과 템플릿 문자열 (14) | 2022.09.01 |
문자열 메서드 : split() (3) | 2022.09.01 |
댓글