밍키의 마법세상

DB(MySQL) - 기본 명령어 본문

Web/DataBase

DB(MySQL) - 기본 명령어

요술공쥬 2020. 5. 4. 09:25

- MySQL 접속

mysql -u (계정 이름) -p비밀번호

 

 

- 데이터베이스 확인

SHOW DATABASES;

 

 

- 테이블 확인
SHOW TABLES;

 

 

- 현재 데이터베이스 확인 
SELECT database(); 

 

 

- 테이블 내용 확인

desc tb1;

 

 

- 데이터베이스 선택 
use db1; 

 

 

- 테이블 만들기
CREATE TABLE tb1(
이름 자료형,
이름 자료형);

 

 

- 테이블 정보 모두보기 
SELECT * FROM tb1; 

- tb1에서 name만 보기 
SELECT name FROM tb1 

 


- 일반적 삽입
INSERT INTO tb1 VALUES('A101', '강호동', 40)

 


- 데이터 순서 필요 없는 삽입
INSERT INTO tb2(num, name, age)
VALUES('A102', '김구라', 28),
('A103', '김희철', 20),
('A104', '문근영', 23),
('A105', '박나래', 35);

 


- 데이터 순서 맞추는 삽입 ( 제일 편함)
INSERT INTO tb2 VALUES
(데이터1, 데이터2, 데이터3..),
(데이터1, 데이터2, 데이터3..),
(데이터1, 데이터2, 데이터3..),
(데이터1, 데이터2, 데이터3..),
..;

 

- 테이블 복사
CREATE TABLE tb1A SELECT * FROM tb1;

 

 

- 칼럼 정의 변경 
ALTER TABLE 테이블 이름 MODIFY 칼럼이름 자료형(크기) 

 

 

 - 칼럼 위치 변경 
EX) ALTER TABLE tb1C MODIFY birth DATETIME FIRST;
 

 

- 칼럼 추가 
ALTER TABLE 테이블 이름 ADD 칼럼이름 자료형 (순서)  
EX) ALTER TABLE tb1D ADD birth DATETIME FIRST;
EX) ALTER TABLE tb1E ADD birth DATETIME AFTER num;

 

 

- 칼럼 이름과 정의 변경 
ALTER TABLE 테이블 이름 CHANGE 변경전이름 변경후이름 자료형; 
EX) ALTER TABLE tb1C CHANGE birth birthdate DATE;

 

 

데이터베이스 삭제

DROP DATABASE 데이터베이스 이름

 

테이블 삭제
DROP TABLE 테이블 이름

 

 

 

- 칼럼 삭제
ALTER TABLE 테이블 이름 DROP 칼럼 이름

 


- 기본키 생성
CREATE TABLE 테이블 이름 (
칼럼이름 자료형 PRIMARY KEY,
..
);

 


- 연속 번호 기능
CREATE TABLE 테이블 이름(
칼럼이름 자료형 AUTO_INCREMENT PRIMARY KEY,
..);

- 데이터 초기화 
DELETE FROM auto_test;

 


- 연속번호 초기화
ALTER TABLE 테이블 이름 AUTO_INCREMENT = 초깃값;
EX) ALTER TABLE tb1 AUTO_INCREMENT = 0;

 

 

 

- 칼럼의 초깃값 설정
CREATE TABLE 테이블이름 (
칼럼이름 자료형,
칼럼이름 자료형 DEFAULT 초깃값,
...);

 


- 초깃값 설정 추가
ALTER TABLE 테이블이름 MODIFY 칼럼이름 자료형 DEFAULT '초깃값';

 


- 테이블 복사
CREATE TABLE 새 테이블 이름 SELECT * FROM 복사할 테이블 이름;

 


- 칼럼 구조만 복사
CREATE TABLE 새 테이블 이름 LIKE 복사할 테이름 이름;

 


- 레코드 복사
INSERT INTO 새 테이블 이름 SELECT * FROM 복사할 테이블 이름;

 


- 특정 칼럼만 복사
INSERT INTO 새 테이블 이름(새 칼럼 이름) SELECT 칼럼이름 FROM 복사할 테이블 이름;

 


- 별명으로 데이터 추출
SELECT 칼럼 이름 AS 별명 FROM 테이블이름

 


- 값 계산후 데이터 추출
SELECT 칼럼이름 계산과정 AS 별명 FROM 테이블이름


- AVG() : 평균
SELECT AVG(칼럼이름) FROM 테이블이름

 


- SUM() : 합계
SELECT SUM(칼럼이름) FROM 테이블이름

 


- COUNT : 개수
SELECT COUNT(*) FROM 테이블이름 -> 모든 레코드의 개수

 


- 문자열 연결하기
SELECT CONCAT(칼럼이름, 칼럼이름, '문자열') FROM 테이블이름

 


- NOW() : 현재 시간
INSERT INTO 테이블이름 (칼럼이름) VALUES(NOW());

 


- 레코드수 제한

SELECT 칼럼이름 FROM 테이블이름 LIMIT 제한갯수;

 

 

- 레코드 범위 지정

SELECT 칼럼이름 FROM 테이블이름 LIMIT 레코드수 OFFSET 이동할레코드수;

EX) SELECT * FROM CUSTOM LIMIT 5 OFFSET 2;

      --> 2칸 이동하여 3번째 부터 표시

 


- SELECT 조건
SELECT 칼럼이름 FROM 테이블이름 WHERE sales>=100;
-> 다르다 : <>
    A(값)중에 B(칼럼)가 있다 : A IN B
    C부터 D 사이에 A가 있다 : A BETWEEN C AND D
    C부터 D 사이에 A가 없다 : A NOT BETWEEN C AND D

-> NULL값 찾기 : 칼럼이름 IS NULL

 

 

- 퍼지검색 : 문자열을 일부만으로 검색
SELECT * FROM 테이블이름 WEHRE 칼럼이름 LIKE '김%';

 


 임의의 문자열(0개 가능) : %   EX) %산% : 부산시, 울산시, 산, 울산
 임의의 한 글자(무조건 1개) : _   EX) 경_도 : 경기도, 경상도, 경상남도(X)

 

 

- 중복 제외 검색
SELECT DISTINCT 칼럼이름 FROM 테이블이름

 

 

- 오름차순으로 정렬 검색

SELECT 칼럼이름 FROM 테이블이름 ORDER BY 기준칼럼이름;

 

 

- 내림차순으로 정렬 검색

SELECT 칼럼이름 FROM 테이블이름 ORDER BY 기준칼럼이름 DESC;

 

 

- 그룹별로 표시 검색

SELECT 칼럼이름 FROM 테이블이름 GROUP BY 그룹화된칼럼이름;

EX) SELECT num, COUNT(*) FROM TB GROUP BY num;

     --> num으로 그룹화하여 num1,num2등등의 갯수 표시

EX) SELECT num, SUM(sales) AS '합계', AVG(sales) AS '평균' FROM TB GROUP BY num;

 

반응형

'Web > DataBase' 카테고리의 다른 글

DB - 데이터베이스란?  (0) 2020.05.04
DB - 자료형  (0) 2020.05.04
Comments