CREATE TABLE celeb
-> (
-> ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> NAME varchar(32) NOT NULL DEFAULT '',
-> BIRTHDAY date,
-> AGE int,
-> SEX char(1),
-> JOB_TITLE varchar(32),
-> AGENCY varchar(32)
-> );
ㄴ 테이블 생성
mysql> desc celeb;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| ID | int | NO | PRI | NULL | auto_increment |
| NAME | varchar(32) | NO | | | |
| BIRTHDAY | date | YES | | NULL | |
| AGE | int | YES | | NULL | |
| SEX | char(1) | YES | | NULL | |
| JOB_TITLE | varchar(32) | YES | | NULL | |
| AGENCY | varchar(32) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
insert into celeb values (1, '아이유', '1993-05-16', 29, 'F', '가수, 탤런트', 'EDAM엔터테
이먼트');
insert into celeb values (2, '이미주', '1994-09-23', 28, 'F', '가수', '올림엔터테인먼트');
insert into celeb values (3, '송강', '1994-04-23', 28, 'M', '탤런트', '나무엑터스');
insert into celeb values (4, '강동원', '1981-01-18', 41, 'M', '영화배우,탤런트', 'YG엔터테인먼트');
insert into celeb values (5, '유재석', '1972-08-14', 50, 'M', 'MC,개그맨', '안테나');
insert into celeb values (6, '차승원', '1970-06-07', 48, 'M', '영화배우,모델', 'YG엔터테인먼트');
insert into celeb values (7, '이수현', '1999-05-04', 23, 'F', '가수', 'YG엔터테인먼트');
ㄴ 데이터 추가
mysql> select * from celeb;
+----+-----------+------------+------+------+------------------------+--------------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+-----------+------------+------+------+------------------------+--------------------------+
| 1 | 아이유 | 1993-05-16 | 29 | F | 가수, 탤런트 | EDAM엔터테이먼트 |
| 2 | 이미주 | 1994-09-23 | 28 | F | 가수 | 올림엔터테인먼트 |
| 3 | 송강 | 1994-04-23 | 28 | M | 탤런트 | 나무엑터스 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우,탤런트 | YG엔터테인먼트 |
| 5 | 유재석 | 1972-08-14 | 50 | M | MC,개그맨 | 안테나 |
| 6 | 차승원 | 1970-06-07 | 48 | M | 영화배우,모델 | YG엔터테인먼트 |
| 7 | 이수현 | 1999-05-04 | 23 | F | 가수 | YG엔터테인먼트 |
+----+-----------+------------+------+------+------------------------+--------------------------+
Select문에서 데이터를 특정 컬럼 기주느로 오름차순 혹은 내림차순 정렬
SELECT column1, column2,...
FROM tablename
ORDER BY column1, column2, ...ASC | DESC;
mysql> select age, name from celeb order by age asc;
+------+-----------+
| age | name |
+------+-----------+
| 23 | 이수현 |
| 28 | 이미주 |
| 28 | 송강 |
| 29 | 아이유 |
| 41 | 강동원 |
| 48 | 차승원 |
| 50 | 유재석 |
+------+-----------+
ㄴ celeb 테이블에서 이름과 나이를 나이순으로 조회(ASC를 생략해도 기본은 오름차순 정렬)
mysql> select age, name from celeb order by age desc, name asc;
+------+-----------+
| age | name |
+------+-----------+
| 50 | 유재석 |
| 48 | 차승원 |
| 41 | 강동원 |
| 29 | 아이유 |
| 28 | 송강 |
| 28 | 이미주 |
| 23 | 이수현 |
+------+-----------+
ㄴ celeb 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회
연산자 | 의미 |
---|---|
A = B | A와 B가 같은 |
A > B | A가 B보다 큰(초과) |
A < B | A가 B보다 작은(미만) |
A >= B | A가 B보다 크거나 같은(이상) |
A <= B | A가 B보다 작거나 같은(이하) |
A <> B | A가 B보다 크거나 작은(같지 않은) |
A != B | A와 B가 같지않은 |
mysql> select name, age from celeb where age=29 order by age;
+-----------+------+
| name | age |
+-----------+------+
| 아이유 | 29 |
+-----------+------+
ㄴ 나이가 29세인 데이터 검색
mysql> select name, age from celeb where age != 29 order by age;
+-----------+------+
| name | age |
+-----------+------+
| 이수현 | 23 |
| 이미주 | 28 |
| 송강 | 28 |
| 강동원 | 41 |
| 차승원 | 48 |
| 유재석 | 50 |
+-----------+------+
ㄴ 나이가 29세가 아닌 데이터 검색
mysql> select name, age from celeb where age>29 order by age;
+-----------+------+
| name | age |
+-----------+------+
| 강동원 | 41 |
| 차승원 | 48 |
| 유재석 | 50 |
+-----------+------+
ㄴ 나이가 29세보다 큰 데이터 검색
mysql> select name, age from celeb where age<>29 order by age;
+-----------+------+
| name | age |
+-----------+------+
| 이수현 | 23 |
| 이미주 | 28 |
| 송강 | 28 |
| 강동원 | 41 |
| 차승원 | 48 |
| 유재석 | 50 |
+-----------+------+
ㄴ 나이가 29세보다 크거나 작은(같지않은)데이터 검색