desc table명;
mysql> desc users_hosts;
+---------+------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| host_id | int | YES | MUL | NULL | |
| user_id | int | YES | MUL | NULL | |
+---------+------+------+-----+---------+----------------+
select * from table명;
mysql> select * from users_hosts;
+----+---------+---------+
| id | host_id | user_id |
+----+---------+---------+
| 1 | 2 | 1 |
| 2 | 3 | 1 |
| 3 | 4 | 2 |
| 4 | 7 | 3 |
+----+---------+---------+
" * " 을 이용하면 테이블의 모든 열을 검색
select 열1, 열2 from table명;
열의 이름을 지정하면 지정한 열만 결괏값으로 표시
mysql> select id,host_id from users_hosts;
+----+---------+
| id | host_id |
+----+---------+
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 4 | 7 |
+----+---------+
select * from table명 where 조건식
select * from table명 where 열 = 값
열에서 특정 값을 가진 데이터를 검색하고 싶을 때 사용할 수 있음
mysql> select * from users_hosts where host_id=2;
+----+---------+---------+
| id | host_id | user_id |
+----+---------+---------+
| 1 | 2 | 1 |
+----+---------+---------+
참고사항) 조건식 열=값 을 사용할 때 값이 문자면 열 ='값' 과 같이 사용함
select * from table명 where 열 <> 값
열에서 특정 값을 가진 데이터를 제외하고 검색하고 싶을 때 사용할 수 있음
mysql> select * from users_hosts where host_id<>2;
+----+---------+---------+
| id | host_id | user_id |
+----+---------+---------+
| 2 | 3 | 1 |
| 3 | 4 | 2 |
| 4 | 7 | 3 |
+----+---------+---------+
null 값을 검색할 때
select * from table명 where 열 is null;
= 연산자
좌변과 우변의 값이 같을 경우 참
<> 연산자
좌변과 우변의 값이 같지 않을 경우 참
>
연산자
좌변의 값이 우변의 값보다 큰 경우 참 / 작은 경우는 거지
>=
연산자
좌변의 값이 우변의 값보다 크거나 같을 경우 참 / 작은 경우는 거짓
< 연산자
좌변의 값이 우변의 값보다 작을 경우 참 / 큰 경우는 거짓
<= 연산자
좌변의 값이 우변의 값보다 작거나 같을 경우 참 / 큰 경우는 거짓
where 절에 조건식을 조합해서 사용함
select * from table명 where a = 1 and b = 2;
select * from table명 where a = 1 or b = 2;
연산자에서 AND가 OR보다 계산 우선 순위가 높음 따라서 OR과 AND를 같이 사용할 때 괄호를 이용하여 우선순위를 파악해주어야함
아래와 같은 조건식이 있다면
where a=1 or b=2 and a=2 or b=1;
a=1 or (b=2 and a=2) or b=1 과 같은 순서로 연산함
(a=1 or b=2) and (a=2 or b=1)의 순서로 연산하지 않음 이와 같은 연산을 원한다면 괄호를 이용하여 or 조건식을 묶어주어야함
where (a=1 or b=2) and (a=2 or b=1);
위의 예시와 같이 조건에 괄호를 묶어서 사용하기
where not a=1;
not 연산자는 오른쪽에만 항목을 지정하는 단항 연산자
오른쪽에 지정한 조건식의 반대 값을 반환
where 열 like 패턴
= 연산자
열 값이 완전히 일치할 때 참이 됨
like 술어
열 값이 부분적으로 일치하는 경우에도 참이 됨
메타문자 / 패턴 매칭 시 임의의 문자 또는 문자열에 매치하는 부분을 지정하기 위해 쓰이는 특수 문자
임의의 문자열 의미
임의의 문자열과 매치하며 빈 문자열에도 매치함
임의의 문자 하나를 의미
where 열 like %내용_
위와 같이 사용할 수 있음
위의 내용으로 검색하면 열에서 '내용'이 있는 데이터를 검색할 수 있음
이 때 검색된 데이터는 '내용' 앞에 임의의 문자열이 있고 내용 뒤에 임의의 문자 하나가 존재함
ex) 위에서 검색해오는 자료는 이러한 내용들
예시와 같이 % --> 위에서 검색해오는 자료는 이러한
_ --> 들
예약어 : select, *, from, where 등
예약어와 데이터베이스 객체명은 대소문자를 구별하지 않음
즉, SELECT *
FROM TABLE 과 select *
from table은 동일하게 동작