본문 바로가기

MySQL MariaDB/DB,Table 정보19

MariaDB의 Views 생성 및 활용 가이드 MariaDB의 Views(뷰)는 데이터베이스 관리를 간소화하고 효율성을 높이기 위한 강력한 도구입니다. 이 가이드는 뷰의 기본 개념부터 활용 방법까지 설명합니다.목차1. 뷰(View)란 무엇인가?뷰는 데이터베이스 테이블에서 실행된 SQL SELECT문의 결과를 저장하는 가상 테이블입니다. 물리적인 데이터를 저장하지 않고 실시간으로 데이터를 생성하므로 데이터의 일관성을 유지하면서 복잡한 SQL을 간소화할 수 있습니다.2. 뷰를 사용해야 하는 이유복잡한 SQL 간소화: 긴 SQL문을 뷰로 저장하면 코드 재사용성이 높아지고 유지 관리가 편리합니다.데이터 접근 제한: 보안 요구 사항에 따라 특정 컬럼이나 행만을 노출할 수 있습니다.데이터베이스 성능 최적화: 잘 설계된 뷰는 데이터 검색 및 분석에 필요한 시간과.. 2024. 11. 10.
MariaDB 원격 클라이언트 접속 설정 가이드 MariaDB를 원격에서 접속할 수 있도록 설정하려면 몇 가지 중요한 단계를 거쳐야 합니다. 기본적으로 MariaDB는 보안을 위해 로컬 IP 주소(127.0.0.1)로 바인딩되어 있습니다. 따라서 원격 접속이 필요한 경우 몇 가지 구성을 수정해야 합니다.목차 1. 기본 설정 파일 찾기MariaDB의 기본 설정 파일은 일반적으로 아래 경로에 위치합니다./etc/my.cnf (리눅스/BSD)/etc/mysql/my.cnf (리눅스/BSD)DATADIR\my.ini (Windows)설정 파일을 확인하려면 다음 명령어를 실행합니다:mariadbd --help --verbose이 명령은 MariaDB가 읽는 설정 파일의 경로를 보여줍니다.2. 설정 파일 수정설정 파일을 열고 다음과 같은 섹션을 찾습니다:[mys.. 2024. 11. 9.
MySQL과 MariaDB의 차이점과 선택 기준 총정리 (라이선스, 성능, 보안, 장점, 차이점,,) MySQL과 MariaDB는 현재 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 두 가지입니다. MySQL은 오라클이 인수한 후에도 여전히 상용화된 버전과 오픈 소스 버전이 제공되며, 폭넓은 사용자층과 많은 레퍼런스를 보유하고 있습니다. 반면 MariaDB는 MySQL에서 포크되어 개발된 시스템으로, 성능 최적화와 다양한 스토리지 엔진 추가, 높은 호환성을 특징으로 합니다. MariaDB는 특히 대용량 데이터 처리와 고속 쿼리 성능을 필요로 하는 환경에 최적화되어 있으며, MySQL보다 더욱 강화된 보안 기능을 제공합니다. MySQL과 MariaDB는 호환성 측면에서 유사하지만, 각자의 특화된 기능이 있어 사용자의 필요에 따라 선택이 달라질 수 있습니다.목차1. MySQL.. 2024. 11. 7.
MySQL / MariaDB Table count 개수 조회 MySQL / MariaDB 테이블 개수 확인 SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'dbName'; 2021. 9. 10.
MySQL / MariaDB DB 사용 용량 확인. MySQL / MariaDB 데이터베이스 사용 용량 조회 SELECT table_schema "Database", -- Database 명 ROUND(SUM(data_length + index_length)/ 1024 / 1024, 1) "MB" FROM information_schema.TABLES GROUP BY table_schema; MySQL / MariaDB 전체 데이터베이스 사용 용량 조회 SELECT SUM(data_length + index_length)/ 1024 / 1024 used_MB, SUM(data_free)/ 1024 / 1024 free_MB FROM information_schema.tables; 2021. 9. 9.
MySQL / MariaDB 테이블, 컬럼 & key 정보 한번에 조회 #--- 테이블별 컬럼 & key 정보 한번에 조회 SELECT T.table_name , C.column_name , C.column_comment , C.ordinal_position , C.column_type , C.is_nullable , C.column_default , C.column_key , inx.index_name CASE inx.non_unique /*-- 1: 인덱스에 중복 가능. 0 : 중복 불가. */ WHEN '1' THEN 'non_uni' WHEN '0' THEN 'unique' ELSE '' END key_unique , inx.nullable /*--- YES : 열에 NULL이 포함될 수 있음. */ FROM ( SELECT T.table_name , C.column.. 2021. 8. 25.
MySQL / MariaDB 해당 테이블의 컬럼(Key)을 참조하고 있는 테이블 & 컬럼 정보. #--- 해당 테이블의 컬럼을 참조하고 있는 테이블 & 컬럼 정보 조회 SELECT REFERENCED_TABLE_NAME ,REFERENCED_COLUMN_NAME ,TABLE_NAME ,COLUMN_NAME ,CONSTRAINT_NAME FROM information_schema.key_column_usage WHERE TABLE_SCHEMA = '데이터베이스명 AND REFERENCED_TABLE_NAME = '테이블명'; CONSTRAINT_CATALOG 항상 #def. CONSTRAINT_SCHEMA 제약 조건의 데이터베이스 이름 CONSTRAINT_NAME 제약 조건의 이름( PRIMARY기본 키의 경우). TABLE_CATALOG 항상 #def. TABLE_SCHEMA 열 제약 조건의 데이터.. 2021. 8. 13.
MySQL / MariaDB foreign key _참조된 table, columns 조회 #---foreign key 참조정보 조회 (테이블별) SELECT * FROM information_schema.key_column_usage WHERE table_name = '테이블명'; #--- foreign key 참조정보 조회 (테이터베이스 별) SELECT * FROM information_schema.key_column_usage WHERE constraint_schema = '테이블명'; CONSTRAINT_CATALOG 항상 #def. CONSTRAINT_SCHEMA 제약 조건의 데이터베이스 이름 CONSTRAINT_NAME 제약 조건의 이름( PRIMARY기본 키의 경우). TABLE_CATALOG 항상 #def. TABLE_SCHEMA 열 제약 조건의 데이터베이스 이름 TABLE_N.. 2021. 8. 13.
MySQL / MariaDB foreign key :제약 조건 조회 #--- foreign key 제약조건 조회 (테이블별) SELECT * FROM information_schema..REFERENTIAL_CONSTRAINTS WHERE table_name = '테이블명'; #--- foreign key 제약조건 조회 (테이터베이스 별) SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS WHERE constraint_schema = '테이블명'; CONSTRAINT_CATALOG nvarchar( 128 ) 제약 조건자. CONSTRAINT_SCHEMA nvarchar( 128 ) 제약 조건을 포함하는 스키마의 이름.. CONSTRAINT_NAME sysname 제약 조건 이름. UNIQUE_CONSTRAINT_CAT.. 2021. 8. 13.
MySQL / MariaDB primary, foreign key 조회 #--- primary, foreign key 조회 (테이블별) SELECT * FROM information_schema.table_constraints WHERE table_name = '테이블명'; #--- primary, foreign key 조회 (테이터베이스 별) SELECT * FROM information_schema.table_constraints WHERE constraint_schema = '테이블명'; CONSTRAINT_CATALOG nvarchar (128 ) 제약 조건자. CONSTRAINT_SCHEMA nvarchar ( 128 ) 제약 조건을 포함하는 스키마의 이름 CONSTRAINT_NAME sysname 제약 조건 이름. TABLE_SCHEMA nvarchar ( 128.. 2021. 8. 13.
MySQL / MariaDB 테이블별로 전체 컬럼정보 조회 #--- 테이블별 전체 컬럼정보 조회 SELECT T.table_name , C.column_name , C.column_comment , C.ordinal_position , C.column_type , C.is_nullable , C.column_default , C.column_key FROM information_schema.TABLES AS T INNER JOIN information_schema.COLUMNS AS C ON T.table_schema =DATABASE() AND T.table_name = C.table_name ORDER BY T.table_name. C.column_position; 2021. 8. 11.
MySQL / MariaDB_시퀀스(Sequence) 생성,조회,다음값 출력,특정번호 재시작. 정의된 전체 시퀀스(Sequence) 조회SELECT * FROM USER_SEQUENCES  시퀀스(Sequence) 생성CREATE SEQUENCE test_seq ---시퀀스명 : test_seq-EQ INCREMENT BY 1               --- 증감수 1. default : 1START WITH 1                  --- 시작수  1 MINVALUE   1                  --- 최소값 1 MAXVALUE  999999           --- 최대값 99999 NOCYCLE                         --- CYCLE : 최대값 후 다시 최소값부터 시작. NOCYCLE : 최대값 후 사용중지.CACHE;                   .. 2021. 8. 6.
MySQL / MariaDB. information_schema.STATISTICS. 인덱스 정보 조회. STATISTICS 테이블은 테이블 인덱스에 대한 정보를 제공 TABLE_CATALOG 항상 def. TABLE_SCHEMA 데이터베이스 이름. TABLE_NAME 테이블 이름 NON_UNIQUE 1: 인덱스에 중복 가능. 0 : 중복 불가. INDEX_SCHEMA 데이터베이스 이름. INDEX_NAME 인덱스 이름. 기본 키 default : PRIMARY SEQ_IN_INDEX 1부터 시작하는 열 시퀀스 번호 COLUMN_NAME 열 이름. COLLATION A : 오름차순으로 정렬. NULL : 정렬되지 않은 경우. CARDINALITY 정수로 저장된 통계를 기반으로 인덱스에 저장된 고유 값의 수를 추정. 카디널리티가 높을수록 일반적으로 조인에서 인덱스가 사용될 가능성이 높아짐. SUB_PART N.. 2021. 8. 5.
MySQL/MariaDB 버전(Version) 정보 확인. #--- MySQL/MariaDB 버전(Version) 확인. SELECT VERSION(); 2021. 8. 5.
MySQL/MariaDB 데이터를 파일(CSV)로 출력하기. #--- column 정의=>파일로출력 SELECT table_name , column_name , ordinal_position , column_type , is_nullable , column_default , column_key , column_comment FROM information_schema.COLUMNS WHERE table_schema=DATABASE() AND TABLE_NAME='t'; INTO OUTFILE 'C:/출력할 경로& 파일명.csv' --- 여기까지만 실행시. 컬럼 구분값 : TAB으로 생성. FIELDS ENCLOSED BY '"' --- 각 필드의 값을 큰따옴표(“)로 묶음. 단, 값에 (") 포함시 오류. TERMINATED BY ',' --- 컬럼 구분값 지정. .. 2021. 8. 5.