개발 노트

Query 본문

데이타베이스/MySQL

Query

알 수 없는 사용자 2022. 11. 21. 15:27

쿼리(Query)란 데이터베이스나 파일의 내용 중 원하는 내용을 검색하기 위하여 몇 개의 코드(code)나 키(Key)를 기초로 질의하는 것을 말한다.

 

쿼리문?

 

CRUD에 해당하는 DML( Data Manipulation Language): 데이터를 다루기 위한 언어로 SELECT,INSERT,UPDATE,DELETE등이 속한다.

 

DDL(Data Definition Language) : 데이터를 정의하기 위한 언어로 CREATE, DROP, ALTER, TRUNCATE 등으로 시작한다.

SCHEMA 생성? 이였던 것 같음.

 

DCL(Data Control Language) : 데이터를 관리하기 위한 언어로 주로 사용자에게 권한을 부여하거나 철회할 수 있는 GRANT, REVOKE 등이 있다.

 

mysql 쿼리문

 

- 접속방법

mysql -u root -p (dbname)

 

-비밀번호 변경

mysqladmin -u root password 새로운 비밀번호

 

-테이블의 생성

create table {테이블이름} ({column 명} {column타입});

ex) CREATE TABLE member( id int(11) NOT NULL,);

 

-구조 보기

 

-이름 변경

rename table {테이블명A} to {테이블명 B}

 

-삭제

drop table {테이블명}

 

- 레코드 삽입

Insert into {테이블명} values(v1,v2) / Insert into table(col1, col2) values(v1, v2);

 

- 조회

select * from table {테이블명}

 

>AS : 칼럼의 이름을 달리 명명해서 출력. ex) Col1 as 'name'

>Desc : 내림차순 Asc: 오름차순 (Order by)

> LIMIT 10 : 0~10 까지 레코드 수 제한. / LIMIT 100, 10 : 100~110까지 레코드 범위

 

- 수정

Update {테이블명} set col1 = 칼럼 1 where 조건

 

- 삭제

Delete from {테이블명} where 조건

 

-column 추가

:Alter table {테이블명} add col3 varchar(255) not null.

 

-column 삭제

Alter table {테이블명} drop col3

 

-column 수정

Alter table{테이블명} modify col3 char(50) not null.

 

- in : 원하는 필드값만을 선택 추출하는데 사용되는 그룹 조건문

 

- 조인

1 Inner join

select * from tableA inner join tableB on tableA.col1 = tableB.col1

=> tableA의 col1과 tableB의 col1이 일치하는 데이터만을 출력. ON 절의 조건이 일치하는 조인테이블의 결과만을 출력한다.

 

2. Outer join

select * from tableA left outer join tableB on tableA.col1 = tableB.col1

=> tableA.col1이 존재하나 tableb.col1이 존재하지 않으면 tableB.col1 = NULL인 상태로 출력. 조인하는 테이블의 ON 절 조건 중 한쪽의 모든 데이터를 가져옴 (LEFT JOIN, RIGHT JOIN) 양쪽(FULL JOIN)

 

- 내장함수 Benchmark

select Benchmark(반복횟수, 실행쿼리)

(ex) Select Benchmark(100, ("select * from table")); => 해당 쿼리를 100번 반복한 벤치마크 결과를 출력.

 

-DISTINCT

주로 Unique한 column이나 tuple을 조회할 때 사용되는 키워드. column을 distinct를 이용하여 조회한다면 중복을 제거한 값들을 바로 얻을 수 있다. 단 이 때, 여러 개의 칼럼을 지정한다면 칼럼의 조합이 중복되는 것을 제외한다.

distinct는 함수처럼 where이 아닌 having 조건식에도 사용이 가능하다.

ex) select distinct email from table;

 

 

 

'데이타베이스 > MySQL' 카테고리의 다른 글

MySQL - SQL Replication  (0) 2023.01.09
mySQL DATETIME 타입  (0) 2022.12.09
sql  (0) 2022.04.19
sql 테이블 필드 위치값 찾기  (0) 2022.03.31
SQL 타입이 다를경우  (0) 2022.03.29