MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
MySQL은 무료로 사용할 수 있으며, 많은 사용자가 사용하는 인기 있는 데이터베이스 관리 시스템 중 하나입니다.
MySQL은 다양한 운영 체제에서 사용할 수 있으며, 많은 프로그래밍 언어와 함께 사용할 수 있습니다. MySQL 데이터베이스를 구성하고 데이터를 저장, 검색, 수정 및 삭제할 수 있는 다양한 도구와 기능을 제공합니다. MySQL은 데이터베이스 내의 정보를 구조화된 방식으로 저장하며, 데이터베이스에 저장된 정보를 검색하기 위해 SQL(Structured Query Language)을 사용합니다.
MySQL은 웹 애플리케이션, 서버, 데스크톱 애플리케이션 및 기타 다양한 유형의 응용 프로그램에서 사용됩니다. MySQL은 많은 기업과 조직에서 사용되며, 대규모 데이터베이스 시스템에서도 높은 성능을 제공합니다.
MySQL의 장점으로는 높은 성능, 확장성, 안정성, 안전성, 유연성, 커뮤니티 지원 등이 있습니다. MySQL은 다른 데이터베이스 시스템과 호환성이 높아서, 기존 시스템을 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.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql> 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)
mysql> use member;
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;
//UNIQUE는 안넣고 싶을때
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 members;
+------------+------------------+------+-----+---------+----------------+
| 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> truncate table members; //테이블 안에 내용만 삭제 초기화
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
Empty set (0.00 sec)
INSERT
INTO
테이블이름 VALUE
INSERT INTO members(youEmail, youName, youPass, youBirth, youAge, regTime) 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
테이블이름 VALUE
INSERT INTO reviews(memberID, youText, regTime) VALUE("4", "정말 감사합니다. 잘 봤어요", "1234567");
INSERT INTO reviews(memberID, youText, regTime) VALUE("4", "감사합니다. 잘 봤어요", "123567");
INSERT INTO reviews(memberID, youText, regTime) VALUE("6", "정말 감사합니다.", "12367");
INSERT INTO reviews(memberID, youText, regTime) VALUE("15", "멋진 내용 감사합니다", "12567");
INSERT INTO reviews(memberID, youText, regTime) VALUE("9", "정말 좋네요!", "1567");
INSERT INTO reviews(memberID, youText, regTime) VALUE("8", "정말 별루네요..", "12357");
INSERT INTO reviews(memberID, youText, regTime) VALUE("10", "감사합니다", "134567");
INSERT INTO reviews(memberID, youText, regTime) VALUE("21", "이건 별루네요", "124567");
INSERT INTO reviews(memberID, youText, regTime) VALUE("2", "정말 잘 봤습니다. 잘 봤어요", "12347");
INSERT INTO reviews(memberID, youText, regTime) VALUE("7", "이거 사기에요", "12367");
INSERT INTO reviews(memberID, youText, regTime) VALUE("1", "정말 안좋아요", "2367");
INSERT INTO reviews(memberID, youText, regTime) VALUE("3", "정말 이상해요", "457");
SELECT
필드명 FROM
테이블명 WHERE
조건SELECT * FROM member;
SELECT * FROM member WHERE memberID = 1;
SELECT * FROM member WHERE memberID <> 1;
SELECT * FROM member WHERE memberID >=5 AND memberID <=10;
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 member WHERE IS NULL;
SELECT * FROM member WHERE IS NOT NULL;
SELECT * FROM member WHERE youName LIKE '%연%';
SELECT * FROM member WHERE youName LIKE '김%';
SELECT * FROM member WHERE youName LIKE '%현';
SELECT * FROM member WHERE youName LIKE '_상_';
SELECT * FROM member WHERE youName LIKE '김%' OR youName LIKE '이%';
SELECT youName FROM member;
SELECT youName FROM member ORDER BY youName DESC;
SELECT youName FROM member ORDER BY youName ASC;
SELECT count(youName) FROM member;
SELECT count(*) FROM member;
SELECT youName, youAge FROM member;
SELECT youName, youAge FROM member WHERE youAge >=30;
SELECT youName FROM member WHERE youAge >=25 AND youName LIKE '김%';
SELECT youName FROM member WHERE youAge >=25 OR youName LIKE '김%';
SELECT * FROM member WHERE (memberID = 2 OR memberID = 9) AND youAge >=25;
SELECT * 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
UPDATE
테이블명 SET
컬럼명 조건UPDATE member SET youPass = "1234";
UPDATE member SET youPass = "9999" WHERE memberID = 3;
UPDATE member SET youPass = "7777" WHERE memberID BETWEEN 5 AND 10;
DELETE
FROM
테이블명 WHERE
조건DELETE FROM member WHERE memberID = 5;
DELETE FROM member WHERE youPass = "1234";
DELETE FROM member ORDER BY youName LIMIT 5;
DELETE FROM member WHERE memberID IN(1, 3, 6);
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;
ALTER TABLE members DROP youPhone;
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 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);
SELECT count(class) FROM schoolRecode;
SELECT count(*) FROM schoolRecode;
SELECT sum(coding) FROM schoolRecode;
SELECT sum(coding) FROM schoolRecode WHERE studentID >=1 AND studentID <=4;
SELECT max(coding) FROM schoolRecode;
SELECT min(coding) FROM schoolRecode;
SELECT avg(coding) FROM schoolRecode;
SELECT class, avg(english) FROM schoolRecode WHERE class IN(1,2,3,4,5) GROUP BY class;
SELECT class, sum(math) FROM schoolRecode WHERE class IN(1,2,3,4,5) GROUP BY class;
SELECT class, sum(math) FROM schoolRecode WHERE class IN(1,2,3,4,5) GROUP BY class HAVING sum(math) >= 70;
SELECT studentID, english FROM schoolRecode ORDER BY english DESC;
SELECT studentID, english FROM schoolRecode ORDER BY english ASC;
SELECT class, sum(math) FROM schoolRecode WHERE class IN(1,2,3,4,5) GROUP BY class ORDER BY sum(math) DESC;