MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
MySQL은 다중 사용자, 다중 스레드 RDBMS로서, 데이터의 안정성과 보안성을 제공합니다. MySQL은 대부분의 운영 체제에서 작동하며, 웹 애플리케이션 개발, 데이터 분석, 빅 데이터, 클라우드 기반 애플리케이션 등에 많이 사용됩니다.
MySQL은 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다. SQL은 데이터베이스에 저장된 데이터를 조작하기 위한 표준적인 언어로서, 데이터를 검색, 삽입, 업데이트, 삭제하는데 사용됩니다. MySQL은 이러한 SQL 문을 이용하여 데이터를 쿼리하고, 데이터의 무결성을 유지하며, 데이터베이스를 관리합니다.
MySQL은 사용이 간편하며, 대용량 데이터베이스를 처리할 수 있는 고성능 기능을 제공합니다. 또한, 오픈 소스로서, 다양한 개발자들이 지속적으로 개발 및 유지보수하고 있어, 사용자들이 다양한 문제들을 해결할 수 있는 방법을 제공합니다.
MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스로 개발된 무료 프로그램입니다. 그래서 홈페이지나 쇼핑몰(워드프레스, Cafe24, 그누보드, 제로보드)등 일반적으로 웹 개발에 널리 사용하고 있습니다.
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.
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
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
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 sample01;
Database changed
mysql> drop database sample01;
Query OK, 0 rows affected (0.02 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
create table members(
memberID int(10) unsigned auto_increment,
youEmail varchar(40) NOT NULL,
youName varchar(10) NOT NULL,
youPass varchar(20) NOT NULL,
youBirth int(10) NOT NULL,
youAge int(5) NOT NULL,
regTime int(30) NOT NULL,
PRIMARY KEY(memberID)
) charset=utf8;
create table reviews(
reviewID int(10) unsigned auto_increment,
memberID int(10) unsigned,
youText tinytext NOT NULL,
regTime int(30) NOT NULL,
PRIMARY KEY(reviewID)
) charset=utf8;
mysql> show tables;
+--------------------+
| Tables_in_sample01 |
+--------------------+
| member |
+--------------------+
1 row in set (0.00 sec)
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)
mysql> drop table member;
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
Empty set (0.00 sec)
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| members |
| new_mytable |
+----------------+
2 rows in set (0.00 sec)
truncat table member;
Query OK, 0 rows affected (0.01 sec)
INSERT
INTO
테이블명(필드명)
VALUES
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("webstoryboy@naver.com","황상연","1234","19990304","26","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("dlscks0930@naver.com","황인찬","1234","19980930","26","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("gp2617@naver.com","천설희","1234","19950313","29","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("dsy1943@naver.com","여다슬","1943","20011227","23","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("1346zany@gmail.com","이승연","1234","19991216","25","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("ebmdols@naver.com","장진용","1234","19940401","26","03140316");
INSERT INTO members(youEmail, youName, youpass, youBirth, youAge, regTime) VALUES("jo0132@naver.com","노지영","1234","19950323","29","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("skadldldl123@gmail.com","안교남","1234","19920923","32","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("ehcjswo1@gmail.com","김도현","123","19951003","29","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("goed0522@gmail.com","변우현","1234","20000629","24","03141516");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("yuna243441@naver.com","이유나","1234","20020508","22","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("im.kebab00@gmail.com","이요셉","1234","19990315","26","03140316");
INSERT INTO members(youEmail, youName, youpass, youBirth, youAge, regTime) VALUES("ture403@gmail.com","전윤기","1234","19920210","32","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("dongjin6539@naver.com","신동진","1234","19960709","28","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("gnsrbdi@naver.com","이훈규","1234","19950227","29","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("jeongyouna_@naver.com","정유나","1234","19950606","29","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("daanbi1345@gmail.com","조은경","1234","19930205","31","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("hunmi961119@gmail.com","진현미","1234","19961119","28","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("getgrovy@gmail.com","정희석","1234","19990101","26","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("kshkmn0929@naver.com","김도현","0929","20020929","22","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("hyejeong3283@gmail.com","이혜정","1234","19940622","30","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("didrn94553@gmail.com","이양구","1234","19941212","30","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("ghkddn132@naver.com","정황우","1234","19970130","25","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("esansi@naver.com","김현빈","1234","19970524","27","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("lee3ll@naver.com","이은지","1234","19930311","31","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("dripidea77@gmail.com","김시연","1234","19930313","31","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("itshena01@gmail.com","조한미","1234","19930211","31","03140316");
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) VALUES("aimee00418@gmail.com","권현정","1234","19830211","39","03140316");
INSERT INTO reviews(memberID, youText, regTime) VALUES("1", "고마워요", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("2", "몰라요", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("3", "뭐해요?", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("4", "댓글이요", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("6", "뭘까여?", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("7", "핸드폰 리뷰", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("8", "마우스 리뷰", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("9", "전체 데이터 불러오기 배우기", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("5", "데이터 불러오기를 배워요", "1234");
INSERT INTO reviews(memberID, youText, regTime) VALUES("10", "여름이네요", "1234");
SELECT
필드명
FROM 테이블이름 WHERE 조건
SELECT * FROM member
+----------+------------------------+---------+---------+----------+--------+---------+
| memberID | youEmail | youName | youPass | youBirth | youAge | regTime |
+----------+------------------------+---------+---------+----------+--------+---------+
| 1 | skadldldl123@gmail.com | 안교남 | 1234 | 19920923 | 32 | 3140316 |
+----------+------------------------+---------+---------+----------+--------+---------+
1 row in set (0.00 sec)
SELECT * FROM member WHERE memberID = 1;
SELECT * FROM member WHERE memberID = 1;
+----------+------------------------+---------+---------+----------+--------+---------+
| memberID | youEmail | youName | youPass | youBirth | youAge | regTime |
+----------+------------------------+---------+---------+----------+--------+---------+
| 1 | skadldldl123@gmail.com | 안교남 | 1234 | 19920923 | 32 | 3140316 |
+----------+------------------------+---------+---------+----------+--------+---------+
1 row in set (0.00 sec)
SELECT * FROM member WHERE memberID <> 1;
SELECT * FROM member WHERE memberID >= 5 AND memberID <=10;
SELECT * FROM member WHERE youAge = 30;
SELECT * FROM member WHERE youAge BETWEEN 30 AND 40;
SELECT * FROM member WHERE youAge NOT BETWEEN 30 AND 40;
SELECT * FROM member WHERE memberID IN(1,5,10,15);
SELECT * FROM members WHERE youName IS NULL;
SELECT * FROM members WHERE youName IS NOT NULL;
SELECT * FROM member WHERE youName like '%연%';
SELECT * FROM member WHERE youName like '김%';
SELECT * FROM member WHERE youName like '%현';
SELECT youName FROM member;
SELECT * FROM member ORDER BY youName DESC;
SELECT * FROM member ORDER BY youName ASC;
SELECT youName, youAge FROM member;
SELECT youName, youAge FROM member WHERE youAge >= 30;
SELECT * FROM member WHERE youName like '_상_';
SELECT youBirth FORM member WHERE youBirth like '____03__';
SELECT * FROM member WHERE youName like '김%' OR youName like '이%';
SELECT youName FROM member WHERE youAge >= 25 AND youName like '김__';
SELECT youName FROM member WHERE youAge >= 25 OR youName like '김__';
1) SELECT youName FROM member WHERE (memberID = 2 OR memberID = 9) AND youAge >= 25;
2) SELECT youName, youAge FROM member WHERE youAge >=25 AND memberID IN(2,9);
SELECT * FROM member LIMIT 5;
SELECT * FROM member LIMIT 5, 5;
SELECT youEmail FROM member LIMIT 10, 10;
SELECT DISTINCT youAge FROM member;
SELECT * FROM member WHERE youEmail LIKE '%gmail%';
SELECT count(youName) FROM member;
SELECT count(youPhone) FROM members;
SELECT count(youEmail) FROM members;;
SELECT count(*) FROM member;
SELECT youName FROM member WHERE youPass = 1234;
SELECT youName FROM member WHERE youPass=1234 AND youAge >= 30;
SELECT youName FROM member WHERE youPass=1234 AND youAge >= 30;
UPDATE
테이블이름
SET 컬러명 조건UPDATE member SET youPass = "1234";
UPDATE member SET youPass="9999" WHERE memberID = 3;
UPDATE member SET youPass="1234567" ORDER BY youPass LIMIT 10;
UPDATE member SET youPass="9999" WHERE memberID = 3;
UPDATE member SET youAge="50" WHERE memberID BETWEEN 1 AND 10;
UPDATE member SET youPass="9999" ORDER BY youName DESC LIMIT 5;
DELETE
FORM
테이블명 WHERE 조건DELETE FROM member WHERE memberID=5;
DELETE FROM member WHERE youPass="1234";
DELETE FROM member ORDER BY memberID LIMIT 5;
DELETE FROM member WHERE memberID IN(11, 13, 15);
ALTER TABLE members ADD youPhone varchar(20) NOT NULL;
ALTER TABLE members ADD youPhone varchar(20) NOT NULL AFTER youAge;
ALTER TABLE members MODIFY youPhone int(20) NOT NULL;
mysql> ALTER TABLE new_mytable MODIFY youPhone varchar(10);
ALTER TABLE members DROP youPhone;
TRUNCATE members;
ALTER TABLE members ADD youPhone varch(20) NOT NULL;
SELECT m.youEmail, m.youName, r.youText, r.regTime FROM members m JOIN reviews r ON (m.memberID = r.memberID);
SELECT m.youEmail, m.youName, r.youText, r.regTime AS reviewRegTime FROM members m JOIN reviews r ON (m.memberID=r.memberID);
SELECT m.youEmail, m.youName, r.youText, r.regTime AS reviewRegTime FROM members m JOIN reviews r ON (m.memberID=r.memberID);
SELECT m.youEmail, m.youName, r.youText, r.regTime FROM members m LEFT JOIN reviews r ON (m.memberID = r.memberID);
CREATE TABLE schoolRecode (
studentID int(10) unsigned NOT NULL AUTO_INCREMENT comment "학생번호",
class tinytext comment "소속클래스(반)",
english tinytext NOT NULL comment "영어점수",
math tinytext NOT NULL comment "수학점수",
science tinytext NOT NULL comment "과학점수",
coding tinytext NOT NULL comment "코딩점수",
PRIMARY KEY(studentID)
) charset=utf8;
INSERT INTO schoolRecode(english, math, science, coding) VALUES(50, 10, 20, 100);
INSERT INTO schoolRecode(class, english, math, science, coding) VALUES(1, 50, 10, 20, 100);
INSERT INTO schoolRecode(class, english, math, science, coding) VALUES(2, 40, 30, 22, 90);
INSERT INTO schoolRecode(class, english, math, science, coding) VALUES(2, 50, 40, 23, 80);
INSERT INTO schoolRecode(class, english, math, science, coding) VALUES(3, 60, 50, 24, 70);
INSERT INTO schoolRecode(class, english, math, science, coding) VALUES(4, 70, 60, 25, 60);
INSERT INTO schoolRecode(class, english, math, science, coding) VALUES(5, 80, 70, 26, 50);