실무에서 사용된다는 기능 모아보기
보통 실무에 제약 조건을 받지 않고 테이블에 데이터를 우선 채워 넣으려고 할 때 사용하고
데이터가 전부 입력되면 활성화 시킨다고 한다.
SET foreign_key_checks = 0; -- 비활성화
SET foreign_key_checks = 1; -- 활성화
원래 있는 테이블과 똑같은 테이블을 만드는 것
create table new_user as select * from user;
위 구문을 사용하면 index와 primary key 등은 적용이 안 된 상태로 복사됩니다. ( 데이터는 없고 구조만 복사됨 )
하지만 like문을 사용하면 구조 자체가 똑같이 복사된다.
create table new_user like user;
뷰가 이미 있으면 덮어쓰고 없으면 만든다.
CREATE OR REPLACE VIEW v_usertbl
AS ...
데이터 베이스 : 테이블이 저장되는 논리적인 공간
테이블스페이스 : 실제로 저장되는 물리적공간
쓰임 : 대용량 데이터를 다룰 때 성능 향상을 위해 설정한다.
시스템 테이블스페이스에 대한 정보는 시스템 변수 innodb_data_path에 내용이 저장되어있다.
SHOW VARIABLES LIKE 'innodb_data_file_path';
기본 키를 지우기 위해서는 참조되고 있는지를 알아야 하는데 그것을 확인하는 쿼리문이다.
SELECT table_name, constraint_name
FROM information_schema.referential_constraints
WHERE constraint_schema='sqldb';
외래키 이름을 알아낼 수 있다.
SELECT routine_name, routine_definition FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_schema = 'DB이름' AND routine_type = 'PROCEDURE';
SELECT parameter_mode, parameter_name, dtd_identifier
FROM INFORMATION_SCHEMA.PARAMETERS
WHERE specific_name = '프로시저이름';
SHOW CREATE PROCEDURE sqldb.프로시저이름; -- 프로시저
show create database db이름; -- 데이터베이스