mark340
착하게살자
mark340
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • 백준 (11)
    • 알고리즘 (1)
    • Javascript (17)
    • CS (18)
    • 기타 (9)
    • AI (1)
    • Angular (2)
    • Linux (14)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Closure
  • JavaScript
  • parsing
  • MySQL
  • oauth

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
mark340

착하게살자

CS

mysql-basic-command

2022. 9. 13. 15:40

Mac 에서 Mysql 서버 실행

$ mysql.server start​

Root 로그인

$ mysql -u root -p

Database

  • 생성
mysql> create database DB_NAME;
  • 조회
mysql> show databases;
  • 삭제
mysql> drop database [database_name];
  • 사용
mysql> use [database_name];
  • 현재 사용중인 DB 확인
mysql> select database();

Table

  • 조회
mysql> show tables;
  • 특정 테이블 정보 조회
mysql> desc [table_name];
  • 컬럼 추가
mysql> alter table [table_name] add [column_name] varchar(100) not null default '0';
  • 테이블 삭제
mysql> drop table [table_name];
  • 테이블 삭제 (외래키 검사 설정)
mysql> SET foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> drop table [table_name];
Query OK, 0 rows affected (0.00 sec)
mysql> SET foreign_key_checks = 1;
Query OK, 0 rows affected (0.00 sec)

Select

  • 중복된 레코드 제거
mysql> SELECT DISTINCT [column_names] FROM [table_name];
  • 그룹핑
mysql> SELECT [column_names] FROM [table_name] GROUP BY [column_name];
mysql> SELECT [column_names] SUM(column_name) FROM [table_name] GROUP BY [column_name];
mysql> SELECT year, semester, sum(credit) credit FROM courses GROUP BY year, semester;
  • 레코드 순서 지정 (Default : ASC, 내림차순 : DESC)
mysql> SELECT [column_names] FROM [table_name] ORDER BY [column_name];
mysql> SELECT [column_names] FROM [table_name] ORDER BY [column_name] DESC;
  • LIKE 연산자
    • _ : 임의의 한 개 문자를 의미한다.
    • % : 임의의 여러 개 문자를 의미한다.
mysql> SELECT [column_names] FROM [table_name] WHERE [column_name] LIKE '김%';

집합 연산

두 SELECT 문의 필드의 개수와 데이터 타입이 서로 같아야 한다.

  • 합집합 UNION (Default: distinct, 중복 포함하고 싶다면 UNION ALL)
mysql> SELECT [column_names] FROM [table_name1]
mysql> UNION ALL
mysql> SELECT [column_names] FROM [table_name2];

ex)
mysql> SELECT id from student UNION ALL SELECT id from professor;
  • 교집합 INTERSECT
mysql> SELECT [column_names] FROM [table_name1]
mysql> INTERSECT
mysql> SELECT [column_names] FROM [table_name2];

ex) 컴퓨터공학부 학생들 중에서 A+ 를 받은 교과목이 있는 학생  
mysql> SELECT id from student
mysql> FROM student s, department d
mysql> WHERE s.id = d.id and dept_name='컴퓨터공학부'
mysql> INTERSECT
mysql> SELECT id
mysql> takes
mysql> grade = 'A+';
  • 차집합 MINUS
mysql> SELECT [column_names] FROM [table_name1]
mysql> MINUS
mysql> SELECT [column_names] FROM [table_name2];

Delete

mysql> DELETE FROM [table_name] WHERE [condition];

ex)
mysql> DELETE FROM offers WHERE id > 7;

외래키 지정

alter table [테이블명] add foreign key( [컬럼명] ) 
references [참조한 테이블]( [참조할 컬럼명] ) [옵션];

AUTO_INCREMENT 초기화 및 재정렬

set @CNT=0;
UPDATE [테이블] set [테이블명].[컬럼명] = @CNT:=@CNT+1

'CS' 카테고리의 다른 글

Object Oriented Programming 객체 지향 프로그래밍  (0) 2023.01.02
[SQL] WHERE 1=1  (0) 2022.12.31
파싱(Parsing)이란 무엇인가  (0) 2022.12.30
[Network] 인터넷 네트워크 구조 (IP,TCP,UDP,DNS,PORT)  (0) 2022.12.30
[OAuth] OAuth 2.0 이란  (0) 2022.10.14
    'CS' 카테고리의 다른 글
    • [SQL] WHERE 1=1
    • 파싱(Parsing)이란 무엇인가
    • [Network] 인터넷 네트워크 구조 (IP,TCP,UDP,DNS,PORT)
    • [OAuth] OAuth 2.0 이란
    mark340
    mark340
    착하게삽시다

    티스토리툴바