Skip to main content

MySQL v1.0 </doc>

jhyjhy968.gmail.com

MySQL은 오픈 소스 관게형 데이터베이스 관리 시스템(RDBMS)입니다

C:\MAMP\bin\mysql\bin>mysql -uroot -proot

MySQL은 다중 사용자, 다중 스레드 RDBMS로서, 데이터의 안정성과 보안성을 제공합니다. MySQL은 대부분의 운영 체제에서 작동하며, 웹 애플리케이션 개발, 데이터 분석, 빅 데이터, 클라우드 기반 애플리케이션 등에 많이 사용됩니다.

MySQL은 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다. SQL은 데이터베이스에 저장된 데이터를 조작하기 위한 표준적인 언어로서, 데이터를 검색, 삽입, 업데이트, 삭제하는데 사용됩니다. MySQL은 이러한 SQL 문을 이용하여 데이터를 쿼리하고, 데이터의 무결성을 유지하며, 데이터베이스를 관리합니다.

MySQL은 사용이 간편하며, 대용량 데이터베이스를 처리할 수 있는 고성능 기능을 제공합니다. 또한, 오픈 소스로서, 다양한 개발자들이 지속적으로 개발 및 유지보수하고 있어, 사용자들이 다양한 문제들을 해결할 수 있는 방법을 제공합니다.

MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스로 개발된 무료 프로그램입니다. 그래서 홈페이지나 쇼핑몰(워드프레스,Cafe24, 그누보드, 제로보드 등)에 가장 일반적으로 웹 개발에 멀리 사용하고 있습니다.

MAMP란 웹 사이트를 개발할 때 쓰이는 기술 스택인 MacOS, Apache, MySql, PHP의 약어이자 솔루션 스택입니다. https://www.mamp.info/en/windows/
윈도우 : cd C:\MAMP\bin\mysql\bin> cd C:\MAMP\bin\mysql\bin> mysql -uroot -proot (cd..) 로그인 : 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 6
    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.

맥 : cd /Applications/MAMP/Library/bin 로그인 : ./mysql -uroot -proot
show databases;
create database 데이터베이스이름;
use 데이터베이스이름;
drop database 데이터베이스이름;
create table 테이블 이름;
create table members(
memberID int(10) unsigned auto_increment,
youEmail varchar(40) NOT NULL,
youName varchar(10) NOT NULL,
youPass varchar(50) NOT NULL,
youAge int(5) NOT NULL,
regTime int(20) NOT NULL,
PRIMARY KEY(memberID)
) charset=utf8;
show tables;

mysql> show tables;
+---------------+
| Tables_in_aaa |
+---------------+
| members       |
+---------------+
1 row in set (0.00 sec)                  
desc 테이블이름;

mysql> desc members;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| memberID | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| youEmail | varchar(40)      | NO   |     | NULL    |                |
| youName  | varchar(10)      | NO   |     | NULL    |                |
| youPass  | varchar(50)      | NO   |     | NULL    |                |
| youAge   | int(5)           | NO   |     | NULL    |                |
| regTime  | int(20)          | NO   |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
drop table 테이블이름;
TRUNCATE table 테이블이름;
INSERT INTO 테이블명(필드명) VALUES

INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("webstoryboy@naver.com", "황상연", "9876", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("lee.jiyoung492@gmail.com", "이지영", "0106", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("capitaljs10@gmail.com", "윤지성", "9876", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("wolves941110@gmail.com", "강서현", "0000", "3010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("jeongsaeyeong@gmail.com", "정새영", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("chfhrdk@gmail.com", "권초록", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("hongjihyeon1004@gmail.com", "홍지현", "1111", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("tmddnrla1@naver.com", "김승우", "7768", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("dbwls9038@naver.com", "정유진", "8151", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("answlsgh95@gmail.com", "문진호", "9999", "010-0000-0000","1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("adorabelness1215@naver.com", "이혜민", "0624", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("duddls6552@naver.com", "문영인", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("audgns722@naver.com", "이명훈", "1212", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("elese0821@naver.com", "이원영", "0821", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("kmdojs@gmail.com", "오종석", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("imdoob@naver.com", "임종한", "3125", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("rlanrider@gmail.com", "김우주", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("yunyoungsik91@gmail.com", "윤영식", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("97.eugene.s@gmail.com", "서유진", "9876", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("jhyjhy968@gmail.com", "정해연", "1234", "010-0000-0000", "1695711294");
INSERT INTO members(youEmail, youName, youPass, youPhone, regTime) VALUES("hee031812@gmail.com", "김희진", "9099", "010-0000-0000", "1695711294");
SELECT 필드명 FROM 테이블명
모든 필드명 불러오기
SELECT * FROM members;
이름 필드명 불러오기
SELECT youName FROM members;
이름,나이 필드명 불러오기
SELECT youName, youAge FROM members;
이메일, 이름, 나이 필드명 불러오기
SELECT youEmail, youName, youAge FROM members;
SELECT 필드명 FROM 테이블명 WHERE 조건
memberID가 1번인 모든 회원 데이터 불러오기
SELECT * FROM members WHERE memberID = 1;
memberID가 10번인 회원의 이름과 이메일 불러오기
SELECT youName, youEmail FROM members WHERE memberID = 10;
나이가 30이상 회원의 모든 데이터 불러오기
SELECT * FROM members WHERE youAge >= 30;
나이가 30인 회원을 제외하고 모든 데이터 불러오기
SELECT * FROM members WHERE youAge != 30;
SELECT * FROM members WHERE youAge <> 30;
memberID 5~10 경우 데이터 불러오기
SELECT * FROM members WHERE memberID < 5 AND memberID > 10;
나이가 30~40인 경우 데이터 불러오기
SELECT * FROM members WHERE youAge BETWEEN 30 AND 40;
나이가 30~40 아닌 경우 데이터 불러오기
SELECT * FROM members WHERE youAge NOT BETWEEN 30 AND 40;
memberID가 1, 5, 10, 15만 불러오기
SELECT * FROM members WHERE memberID IN(1,5,10,15);
데이터 없는 것 불러오기
SELECT * FROM members WHERE youName IS NULL;
데이터 있는 것 불러오기
SELECT * FROM members WHERE youName IS NOT NULL;
이름 중에 "연"텍스트가 포함된 이름 불러오기
SELECT * FROM members WHERE youName LIKE '%연%';
이름 중에 "김"텍스트로 시작하는 이름 불러오기
SELECT * FROM members WHERE youName LIKE '김%';
이름 중에 "연"텍스트로 끝나는는 이름 불러오기
SELECT * FROM members WHERE youName LIKE '연%';
이름 중에 "성"텍스트로 끝나는는 이름 불러오기
SELECT * FROM members WHERE youName LIKE '__성';
이름 중에 "김"텍스트와 "이"텍스트로 시작하는 이름 불러오기
SELECT * FROM members WHERE youName LIKE '김%' OR youName LIKE '이%';
나이가 25 이상이고 아이디가 2 또는 9인 멤버 불러오기
SELECT * FROM members WHERE youAge >= 25 AND memberID IN(2,9);
SELECT * FROM members WHERE (memberID = 2 OR memberID = 9) AND youAge >=25
회원 데이터를 5개만 불러오기(1-5)
SELECT * FROM members LIMIT 5;
회원 데이터를 5개만 불러오기(6-10)
SELECT * FROM members LIMIT 5, 5;
회원 이메일을 기준으로 10개만 불러오기(11-20)
SELECT youEmail FROM members LIMIT 10, 10;
중복된 나이 제거하기
SELECT DISTINCT youAge FROM members;
이름 갯수 불러오기
SELECT COUNT(youName) FROM members;
SELECT COUNT(*) FROM members;
이름 불러오기(올림차순:ㄱ~ㅎ)
SELECT youName FROM members ORDER BY youName ASC;
이름 불러오기(내림차순:ㅎ~ㄱ)
SELECT youName FROM members ORDER BY youName DESC;
UPDATE 테이블명 SET 컬럼명 조건
모든 회원의 비밀번호를 1234로 수정하기
UPDATE members SET youPass = "1234";
memberID가 15번인 회원의 비밀번호만 1111로 수정하기

UPDATE members SET youPass = "1111" WHERE memberID = 15;
memberID가 5~10번인 회원의 비밀번호만 7777로 수정하기

UPDATE members SET youPass = "7777" WHERE memberID BETWEEN 5 AND 10;
DELETE FROM 테이블명 WHERE 조건
아이디가 5번인 멤버 삭제하기
DELETE FROM members WHERE  memberID = 5;
비밀번호가 111인 멤버 삭제하기
DELETE FROM members WHERE  youPass = 1111;
memberID를 기준으로 5번쨰 멤버까지 삭제
DELETE FROM members ORDER BY memberID LIMIT 5;
memberID를 기준으로 16, 18, 20번쨰 멤버 삭제
DELETE FROM members WHERE memberID IN(16, 18, 20);
ALTER TABLE [테이블명] ADD [추가할 필드명];
핸드폰 필드 추가하기
ALTER TABLE members ADD youPhone varchar(20) NOT NULL;
핸드폰 필드 추가하기(패스워드 다음 필드)
ALTER TABLE members ADD youPhone varchar(20) NOT NULL AFTER youAge;
ALTER TABLE [테이블명] MODIFY [수정할 필드명];
핸드폰 필드 수정하기
ALTER TABLE members MODIFY youPhone int(20) NOT NULL;
핸드폰 필드 수정하기
ALTER TABLE members MODIFY youPhone varchar(20) NOT NULL;
ALTER TABLE [테이블명] DROP [삭제할 필드명];
핸드폰 필드 삭제하기
ALTER TABLE members DROP youPhone;