MySQL query문
DB 생성 및 삭제
테이블 생성 및 삭제
자신이 사용할 데이터베이스 선택하기
테이블 생성 방법
테이블 구조 변경(alter) : 컬럼 추가, 변경, 삭제
테이블에 컬럼 추가
테이블에 컬럼 변경
테이블에 컬럼 삭제
테이블에 데이터 삽입(insert into)
테이블에 데이터 추가 (INSERT INTO)
테이블에 데이터 조회(select)
전체 항목 표시
원하는 항목 표시
특정 조건을 만족하는 목록 표시
조건을 하나 더 붙여서 남자들 중에서 수학점수(math)가 70점 이상인 사람들만 표시
계산식을 통해 자료 가져오기
최대(MAX), 최소(MIN), 평균(AVG) 구하기
데이터를 순서대로 가져오기 (ASC 오름차순 / DESC 내림차순)
영어성적(eng)을 역순으로 정렬한 후 이름(name)과 영어성적(eng)을 표시
원하는 개수만큼 가져오기
LIMIT 바로 뒤에 가져오고자 하는 데이터 개수를 적으면, 원하는 수만큼의 데이터를 가져올 수 있습니다. LIMIT 뒤에는 두 개의 변수를 적을 수도 있는데, 이 경우 앞에 있는 변수는 위에서부터 건너 뛸 데이터 개수이고, 뒤에 있는 변수는 가져올 데이터 개수.
다음 SQL문은 3번부터 시작해서 4개를 가져오는 쿼리.
데이터 개수 알아내기
이것은 student 테이블에서 성별(sex)이 여자(F)인 데이터의 개수를 구하는 예.
검색을 통해 데이터 가져오기
SELECT 쿼리의 LIKE 옵션을 이용하면 패턴이 일치하는 데이터들만 추출 .
이 경우 “모든 문자”라는 의미를 가지는 % 문자가 주로 사용.
다음은 ‘student 테이블에서 이름(name)이 “이”자로 시작하는 사람을 모두 표시하라’는 예입니다.
테이블에 데이터 수정(update)
테이블에 데이터 삭제(delete)
테이블에 저장된 데이터를 삭제하기 위해서는 DELETE 쿼리를 사용
id가 6번 데이터 삭제하기
student 테이블에서 id가 6번인 데이터를 삭제하고자 한다면 다음과 같은 쿼리를 실행하면 됩니다.
① SELECT문 : 테이블로부터 데이터를 가져오는데 사용되는 쿼리.
예) student 테이블에서 남자(sex가 M으로 저장된 사람들)들의 이름과 전화번호를 가져오기
② INSERT문 : 테이블에 새로운 데이터를 저장하는데 사용되는 쿼리.
예) student 테이블에 (6, 화두, 1969-02-12, 011-9322-0992, 53, 98, 79)라는 데이터를 추가하기
③ UPDATE문 : 테이블에 저장된 데이터를 수정하는데 사용되는 쿼리.
예) student 테이블에 5번 데이터의 사람이름(name)을 ‘이강’로 수정하기
④ DELETE문 : 테이블에 저장된 데이터를 삭제하는데 사용되는 쿼리.
예) student 테이블의 3번 데이터를 삭제하기
NOT NULL : 반드시 데이터 저장
PRIMARY KEY : 중복 데이터 불가능, 반드시 NOT NULL
AUTO_INCREMENT : 자동으로 1씩 증가
- 테이블(Table) : DB에서 데이터를 저장하는 곳으로 테이블은 열과 행을 구성된 표형식으로 구성
- 데이터베이스(Database) : 데이터베이스란 테이블을 여러 개 모아놓은 집합
- DBMS(Data Base Management System) : DBMS는 데이터베이스를 모아놓고 전체의 데이터베이스를 관리하는 시스템 (MySql, Oracle, MS-SQL 등의 프로그램)
- SQL(Structured Query Language) : SQL은 데이터베이스에서 원하는 데이터를 뽑을 수 있도록 만든 일종의 질문 언어(Query Language) Select (조회) / Insert (삽입-레코드) / update (갱신) / Delete (삭제)
DB 생성 및 삭제
CREATE database <데이터베이스명>;
SHOW DATABASES;
DROP DATABASE? <데이터베이스명>;
SHOW DATABASES;
DROP DATABASE? <데이터베이스명>;
테이블 생성 및 삭제
자신이 사용할 데이터베이스 선택하기
USE <데이터베이스명>;
테이블 생성 방법
CREATE TABLE <테이블이름> (컬럼1 데이터형, 컬럼2 데이터형, ... , 컬럼N 데이터형);
CREATE TABLE address(no INT, name VARCHAR(20), tel VARCHAR(20));
CREATE TABLE address(no INT, name VARCHAR(20), tel VARCHAR(20));
CREATE TABLE address(
??????????????? no INT,
??????????????? name VARCHAR(20),
??????????????? tel VARCHAR(20)
??????????????? );
INT : 4 Byte의 정수
CHAR(M) : 문자의 수가 최대 M개인 문자열
VARCHAR(M) : 문자의 수가 최대 M개인 문자열
TEXT : 문자의 수가 최대 65,535개의 문자열
VACM(M) : 문자의 수가 M개인 문자열
BLOB : 대용량의 바이너리 데이터를 저장할 때
??????????????? no INT,
??????????????? name VARCHAR(20),
??????????????? tel VARCHAR(20)
??????????????? );
INT : 4 Byte의 정수
CHAR(M) : 문자의 수가 최대 M개인 문자열
VARCHAR(M) : 문자의 수가 최대 M개인 문자열
TEXT : 문자의 수가 최대 65,535개의 문자열
VACM(M) : 문자의 수가 M개인 문자열
BLOB : 대용량의 바이너리 데이터를 저장할 때
describe? <테이블명>;
drop table <테이블명>;
show table;
drop table <테이블명>;
show table;
테이블 구조 변경(alter) : 컬럼 추가, 변경, 삭제
테이블에 컬럼 추가
ALTER TABLE <테이블 이름> ADD <컬럼><데이터형>;
ALTER TABLE address ADD email VARCHAR(50);
ALTER TABLE address ADD email VARCHAR(50);
테이블에 컬럼 변경
ALTER TABLE <테이블 이름> CHANGE <변경전 컬럼> <변경후 컬럼> <데이터형>;
ALTER TABLE address CHANGE email url VARCHAR(100);
ALTER TABLE address CHANGE email url VARCHAR(100);
테이블에 컬럼 삭제
ALTER TABLE <테이블 이름> DROP <삭제할 컬럼>;
ALTER TABLE address DROP url;
ALTER TABLE address DROP url;
테이블에 데이터 삽입(insert into)
CREATE TABLE login_table (no INT, id VARCHAR(10), passwd VARCHAR(10));
테이블에 데이터 추가 (INSERT INTO)
INSERT INTO <테이블 이름> (컬럼1, 컬럼2, ..., 컬럼N) VALUES (데이터1, 데이터2, ..., 데이터N);
INSERT INTO login_table (no, id, passwd) VALUES ('1', 'kurakura', 'kurakura');
INSERT INTO login_table VALUES ('3', 'bobo', 'boboshop');
INSERT INTO login_table (no, id, passwd) VALUES ('1', 'kurakura', 'kurakura');
INSERT INTO login_table VALUES ('3', 'bobo', 'boboshop');
테이블에 데이터 조회(select)
insert_sql.txt 파일을 사용하여 테이블과 데이터를 입력합니다.
전체 항목 표시
SELECT * FROM 테이블;
SELECT * FROM student;
SELECT * FROM student;
원하는 항목 표시
SELECT 컬럼1, 컬럼2, ... , 컬럼N FROM 테이블;
SELECT name, kor FROM student;
SELECT name, kor FROM student;
특정 조건을 만족하는 목록 표시
SELECT? <컬럼명>? FROM? <테이블이름>? WHERE? <조건>;
SELECT * FROM student WHERE sex='M';
SELECT * FROM student WHERE sex='M';
조건을 하나 더 붙여서 남자들 중에서 수학점수(math)가 70점 이상인 사람들만 표시
SELECT id, name FROM student WHERE sex='M' AND math>'70';
계산식을 통해 자료 가져오기
SELECT name, (kor+eng+math)/3 FROM student;
SELECT * FROM student WHERE kor>='80' AND kor<='90';
SELECT * FROM student WHERE kor>='80' AND kor<='90';
최대(MAX), 최소(MIN), 평균(AVG) 구하기
SELECT MAX(kor), MIN(kor), AVG(kor) FROM student;
데이터를 순서대로 가져오기 (ASC 오름차순 / DESC 내림차순)
SELECT <컬럼명> FROM <테이블명> ORDER BY <컬럼명> [ASC|DESC] ;
SELECT no, phone FROM student ORDER BY id;
SELECT no, phone FROM student ORDER BY id;
영어성적(eng)을 역순으로 정렬한 후 이름(name)과 영어성적(eng)을 표시
SELECT name, eng FROM student ORDER BY eng DESC;
원하는 개수만큼 가져오기
SELECT * FROM 테이블 LIMIT 데이터 개수;
LIMIT 바로 뒤에 가져오고자 하는 데이터 개수를 적으면, 원하는 수만큼의 데이터를 가져올 수 있습니다. LIMIT 뒤에는 두 개의 변수를 적을 수도 있는데, 이 경우 앞에 있는 변수는 위에서부터 건너 뛸 데이터 개수이고, 뒤에 있는 변수는 가져올 데이터 개수.
다음 SQL문은 3번부터 시작해서 4개를 가져오는 쿼리.
SELECT * FROM student LIMIT 2, 4 ;
데이터 개수 알아내기
SELECT COUNT(*) FROM 테이블;
이것은 student 테이블에서 성별(sex)이 여자(F)인 데이터의 개수를 구하는 예.
SELECT COUNT(*) FROM student WHERE sex='F';
검색을 통해 데이터 가져오기
SELECT * FROM student WHERE name LIKE '이%';
SELECT 쿼리의 LIKE 옵션을 이용하면 패턴이 일치하는 데이터들만 추출 .
이 경우 “모든 문자”라는 의미를 가지는 % 문자가 주로 사용.
다음은 ‘student 테이블에서 이름(name)이 “이”자로 시작하는 사람을 모두 표시하라’는 예입니다.
테이블에 데이터 수정(update)
UPDATE 쿼리를 이용하면, 테이블에 저장된 데이터를 수정
UPDATE <테이블이름> SET <컬럼1>=<값1>, <컬럼2>=<값2> ... <컬러N>=<값N> WHERE 조건;
UPDATE student SET math='70' WHERE id='2';
UPDATE <테이블이름> SET <컬럼1>=<값1>, <컬럼2>=<값2> ... <컬러N>=<값N> WHERE 조건;
UPDATE student SET math='70' WHERE id='2';
테이블에 데이터 삭제(delete)
테이블에 저장된 데이터를 삭제하기 위해서는 DELETE 쿼리를 사용
DELETE FROM <테이블이름> WHERE 조건;
id가 6번 데이터 삭제하기
DELETE FROM student WHERE id = '6';
student 테이블에서 id가 6번인 데이터를 삭제하고자 한다면 다음과 같은 쿼리를 실행하면 됩니다.
① SELECT문 : 테이블로부터 데이터를 가져오는데 사용되는 쿼리.
예) student 테이블에서 남자(sex가 M으로 저장된 사람들)들의 이름과 전화번호를 가져오기
SELECT name, phone FROM student WHERE sex= 'M';
② INSERT문 : 테이블에 새로운 데이터를 저장하는데 사용되는 쿼리.
예) student 테이블에 (6, 화두, 1969-02-12, 011-9322-0992, 53, 98, 79)라는 데이터를 추가하기
INSERT INTO student VALUES('6', '화두', '1969-02-12', '011-9322-0992', '53', '98', '79')
③ UPDATE문 : 테이블에 저장된 데이터를 수정하는데 사용되는 쿼리.
예) student 테이블에 5번 데이터의 사람이름(name)을 ‘이강’로 수정하기
UPDATE student SET name = ‘이강’ WHERE id = '5';
④ DELETE문 : 테이블에 저장된 데이터를 삭제하는데 사용되는 쿼리.
예) student 테이블의 3번 데이터를 삭제하기
DELETE FROM student WHERE id = '3';
NOT NULL : 반드시 데이터 저장
PRIMARY KEY : 중복 데이터 불가능, 반드시 NOT NULL
AUTO_INCREMENT : 자동으로 1씩 증가
CREATE TABLE student (id INT,
name VARCHAR(10),
sex CHAR,
birthday DATE,
phone VARCHAR(15),
kor INT,
math INT,
eng INT);
name VARCHAR(10),
sex CHAR,
birthday DATE,
phone VARCHAR(15),
kor INT,
math INT,
eng INT);
'Database > MySQL' 카테고리의 다른 글
우편번호 DB (MySQL용) (0) | 2006.08.12 |
---|