728x90
반응형

MySQL 18

테이블 또는 열에 대한 모든 외래 키를 보는 방법

질문 : 테이블 또는 열에 대한 모든 외래 키를 보려면 어떻게합니까? MySQL에서 특정 테이블을 가리키는 모든 외래 키 제약 목록을 어떻게 얻습니까? 특정 칼럼? 이것은이 Oracle 질문 과 동일하지만 MySQL의 경우입니다. 답변 테이블의 경우 : SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = '' AND REFERENCED_TABLE_NAME = ''; 컬럼의 경우 : SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, ..

개발관련/other 2021.12.19

MySQL 오류 "Every derived table must have its own alias"

질문 : MySQL에서 "모든 파생 테이블에는 자체 별칭이 있어야합니다"라는 오류는 무엇입니까? 이 쿼리를 MySQL에서 실행하고 있습니다. SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) ); 이 오류가 발생합니다. 모든 파생 테이블에는 고유 한 별칭이 있어야합니다. 이 오류의 원인은 무엇입니까? 답변 모든 파생 테이블 (일명 하위 쿼리)에는 실제로 별칭이 있어야합니다. 즉, 대괄호로 묶인 각 쿼리에는 별칭 ( AS whatever )이 지정되어야하며, 나머지 외부 쿼리에서이를 참조하는 데 사용할 수 있습니다. SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) AS T ) AS T..

mysqldump에서 덤프 파일을 복원하는 방법

질문 : mysqldump에서 덤프 파일을 어떻게 복원합니까? Windows Server 2008 컴퓨터에서 데이터베이스로 복원해야하는 MySQL 데이터베이스 파일을 받았습니다. MySQL 관리자를 사용해 보았지만 다음 오류가 발생했습니다. 선택한 파일은 mysqldump에 의해 생성되었으며이 애플리케이션에서 복원 할 수 없습니다. 어떻게 작동합니까? 답변 다음을 실행하는 것만 큼 간단해야합니다. mysql -u -p < db_backup.dump 덤프가 단일 데이터베이스 인 경우 파일 맨 위에 다음 행을 추가해야 할 수 있습니다. USE ; 많은 데이터베이스의 덤프 였다면 use 문이 이미 거기에 있습니다. 이러한 명령을 운영하는 (윈도우에서) 프롬프트 명령 및 최대 열려면 cd 하여 디렉토리 mysq..

MySQL에서 특정 열 이름이 있는 모든 테이블을 찾는 방법

질문 : 특정 열 이름이있는 MySQL의 모든 테이블을 찾는 방법은 무엇입니까? 전체 DB에서 조회하고 싶은 열 이름이 2-3 개 있고 해당 열이있는 모든 테이블을 나열합니다. 쉬운 스크립트? 답변 YourDatabase columnA 또는 ColumnB 열이있는 모든 테이블을 가져 오려면 다음을 수행하십시오. SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('columnA','ColumnB') AND TABLE_SCHEMA='YourDatabase'; 출처 : https://stackoverflow.com/questions/193780/how-to-find-all-the-tables-in-mysql-with..

pip로 특정 패키지 버전 설치

질문 : pip로 특정 패키지 버전 설치 --no-site-packages 옵션으로 만든 새로운 virtualenv를 사용하여 MySQL_python 어댑터 버전 1.2.2를 설치하려고합니다. PyPi에 표시된 현재 버전은 1.2.3 입니다. 이전 버전을 설치하는 방법이 있습니까? 이 작업을 수행해야한다는 기사를 찾았습니다. pip install MySQL_python==1.2.2 그러나 설치되면 사이트 패키지에 MySQL_python-1.2.3-py2.6.egg-info 이 패키지에 특정한 문제입니까, 아니면 제가 잘못하고 있습니까? 답변 TL, DR : pip install -Iv (예 : pip install -Iv MySQL_python==1.2.2 ) 첫째, 당신이하려는 일에 두 가지 문제가 있..

MySQL : 데이터베이스에 대한 ** 모든 ** 권한 부여

질문 : MySQL : 데이터베이스에 대한 ** 모든 ** 권한 부여 예를 들어 'mydb'와 같은 데이터베이스를 만들었습니다. CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH'; GRANT ALL ON mydb.* TO 'myuser'@'%'; GRANT ALL ON mydb TO 'myuser'@'%'; GRANT CREATE ON mydb TO 'myuser'@'%'; FLUSH PRIVILEGES; 이제 어디서나 데이터베이스에 로그인 할 수 있지만 테이블을 만들 수는 없습니다. 해당 데이터베이스 및 (향후) 테이블에 대한 모든 권한을 부여하는 방..

MySQL의 명령 줄을 사용하여 SQL 파일을 가져오는 방법

질문 : MySQL의 명령 줄을 사용하여 SQL 파일을 어떻게 가져 옵니까? phpMyAdmin 에서 내 보낸 .sql 파일이 있습니다. 명령 줄을 사용하여 다른 서버로 가져오고 싶습니다. Windows Server 2008 R2가 설치되어 있습니다. .sql 파일을 C 드라이브 에 배치하고이 명령을 시도했습니다. database_name < file.sql 그것은 작동하지 않습니다. 구문 오류가 발생합니다. 문제없이이 파일을 어떻게 가져올 수 있습니까? 먼저 데이터베이스를 만들어야합니까? 답변 시험: mysql -u username -p database_name < file.sql MySQL 옵션을 확인하십시오. 참고 -1 : file.sql 의 전체 경로를 사용하는 것이 좋습니다. 참고 -2 : 원래..

PHP에서 SQL 공격(injection)을 방지하는 방법

질문 : PHP에서 SQL 주입을 어떻게 방지 할 수 있습니까? 사용자 입력이 SQL 쿼리에 수정없이 삽입되면 다음 예제와 같이 애플리케이션이 SQL 주입에 취약 해집니다. $unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')"); 사용자가 값과 같은 것을 입력 할 수 있기 때문입니다 value'); DROP TABLE table;-- , 쿼리는 다음과 같습니다. INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--') 이를 방지하기 위해 무엇을 할 수 있습니까? 답변 준비된 문과 매개 변수..

MySQL 데이터베이스의 테이블 크기를 얻는 방법

질문 : MySQL 데이터베이스의 테이블 크기를 얻는 방법은 무엇입니까? 이 쿼리를 실행하여 MySQL 데이터베이스에있는 모든 테이블의 크기를 가져올 수 있습니다. show table status from myDatabaseName; 결과를 이해하는 데 도움이 필요합니다. 크기가 가장 큰 테이블을 찾고 있습니다. 어떤 열을 봐야합니까? 답변 이 쿼리를 사용하여 테이블의 크기를 표시 할 수 있습니다 (먼저 변수를 대체해야 함). SELECT table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema = "$DB_NA..

MySQL 데이터베이스의 이름을 손쉽게 바꾸는 방법

질문 : MySQL 데이터베이스의 이름을 빠르게 바꾸려면 어떻게합니까 (스키마 이름 변경) 에서 MySQL의 매뉴얼 MySQL은 이를 다루고 있습니다. 일반적으로 데이터베이스를 덤프하고 새 이름으로 다시 가져옵니다. 이것은 매우 큰 데이터베이스에 대한 옵션이 아닙니다. RENAME {DATABASE | SCHEMA} db_name TO new_db_name; 나쁜 일을하고 소수의 버전에만 존재하며 전반적으로 나쁜 생각입니다 . 이것은 MyISAM 과는 매우 다른 것을 저장 하는 InnoDB 와 함께 작동해야합니다. 답변 InnoDB 의 경우 다음이 작동하는 것 같습니다. 새 빈 데이터베이스를 만든 다음 각 테이블의 이름을 차례로 새 데이터베이스로 바꿉니다. RENAME TABLE old_db.table ..

PHP에서 MySQL에 사용하는 가장 좋은 데이터 정렬

질문 : PHP에서 MySQL에 사용하는 가장 좋은 데이터 정렬은 무엇입니까? 무엇을 입력할지 100 % 확신하지 못하는 일반 웹 사이트의 경우 MySQL에서 데이터 정렬을위한 "최선의"선택이 있는지 궁금합니다. MySQL, Apache, HTML 및 PHP 내부의 모든 인코딩과 같이 모든 인코딩이 동일해야 함을 이해합니다. 과거에 "UTF-8"로 출력하도록 PHP를 설정했지만 MySQL에서 어떤 데이터 정렬이 일치합니까? UTF-8 중 하나라고 생각하지만 utf8_unicode_ci , utf8_general_ci 및 utf8_bin 을 사용했습니다. 답변 주요 차이점은 정렬 정확도 (언어의 문자를 비교할 때)와 성능입니다. 유일한 특별한 것은 이진 형식으로 문자를 비교하는 utf8_bin입니다. ut..

MySQL에서 datetime 또는 timestamp 데이터 유형을 사용하는 이유

질문 : MySQL에서 datetime 또는 timestamp 데이터 유형을 사용해야합니까?datetime 또는 timestamp 필드를 사용하는 것이 좋으며 그 이유 (MySQL 사용)를 권장합니까?저는 서버 측에서 PHP로 작업하고 있습니다.답변MySQL의 타임 스탬프는 일반적으로 레코드 변경 사항을 추적하는 데 사용되며 레코드가 변경 될 때마다 업데이트되는 경우가 많습니다. 특정 값을 저장하려면 datetime 필드를 사용해야합니다.UNIX 타임 스탬프 또는 기본 MySQL datetime 필드 사용 중에서 결정하려는 경우 기본 형식을 사용하십시오. MySQL 내에서 이러한 방식으로 계산을 수행 할 수 있으며 ("SELECT DATE_ADD(my_datetime, INTERVAL 1 DAY)") 레..

전체 MySQL 데이터베이스 문자 집합 및 데이터 정렬을 UTF-8로 변환하는 방법

질문 : 전체 MySQL 데이터베이스 문자 집합 및 데이터 정렬을 UTF-8로 변환하는 방법은 무엇입니까? 전체 MySQL 데이터베이스 문자 집합을 UTF-8로, 데이터 정렬을 UTF-8로 어떻게 변환 할 수 있습니까? 답변 ALTER DATABASE 및 ALTER TABLE 명령을 사용하십시오. ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 또는 4 바이트 UTF-8을 지원하지 않는 MySQL 5.5.2 또는 이전 버전을 사용하는 경우 utf8mb4 utf8 사용합..

MySQL 데이터베이스 관리 시스템 (DBMS)의 현재 버전을 검색하는 방법

질문 : MySQL 데이터베이스 관리 시스템 (DBMS)의 현재 버전을 검색하는 방법은 무엇입니까? MySQL 데이터베이스의 현재 버전을 반환하는 명령은 무엇입니까? 답변 mysql --version 을 사용하도록 제안합니다. 그러나 mysql 프로그램은 클라이언트입니다. 서버는 mysqld 입니다. 따라서 명령은 mysqld --version 또는 mysqld --help 그것은 데비안과 Windows에서 나를 위해 작동합니다. 클라이언트로 MySQL 서버에 연결하면 다음을 사용할 수 있습니다. select version() 또는 select @@version 출처 : https://stackoverflow.com/questions/8987679/how-to-retrieve-the-current-ver..

MySQL 데이터베이스에서 단일 테이블을 백업하는 방법

질문 : MySQL 데이터베이스에서 단일 테이블을 백업하는 방법은 무엇입니까? 기본적으로 mysqldump 는 전체 데이터베이스를 백업합니다. MySQL에서 단일 테이블을 백업해야합니다. 가능할까요? 어떻게 복원합니까? 답변 덤프 mysqldump db_name table_name > table_name.sql 원격 데이터베이스에서 덤프 mysqldump -u -h -p db_name table_name > table_name.sql 추가 참조 : http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html 복원 mysql -u -p db_name mysql> source /table_name.sql 또는 한 줄로 mysql -u user..

mysql 데이터베이스의 크기를 얻는 방법

질문 : mysql 데이터베이스의 크기를 얻는 방법은 무엇입니까? mysql 데이터베이스의 크기를 얻는 방법은 무엇입니까? 대상 데이터베이스가 "v3"이라고 가정합니다. 답변 이 쿼리를 실행하면 원하는 정보를 얻을 수 있습니다. SELECT table_schema "DB Name", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema; 이 쿼리는 더 포괄적 인 지침이 제공되는 mysql 포럼에서 제공됩니다. 출처 : https://stackoverflow.com/questions/1733507/how-to-get-size-of-mysq..

MySQL에서 명령 줄을 사용하여 사용자 계정 목록을 얻는 방법

질문 : MySQL에서 명령 줄을 사용하여 사용자 계정 목록을 얻는 방법은 무엇입니까? MySQL 명령 줄 유틸리티를 사용하고 있으며 데이터베이스를 탐색 할 수 있습니다. 이제 사용자 계정 목록을 확인해야합니다. 어떻게 할 수 있습니까? MySQL 버전 5.4.1 있습니다. 답변 이 쿼리를 사용하십시오. SELECT User FROM mysql.user; 다음과 같은 테이블이 출력됩니다. +-------+ | User | +-------+ | root | +-------+ | user2 | +-------+ Matthew Scharley가 이 답변에 대한 의견에서 지적했듯이 고유 한 사용자 이름 만보고 싶은 경우 User 열별로 그룹화 할 수 있습니다. 출처 : https://stackoverflow.c..

MySQL 데이터베이스 / 테이블 / 열이 어떤 문자 집합인지 확인하는 방법

질문 : MySQL 데이터베이스 / 테이블 / 열이 어떤 문자 집합인지 어떻게 알 수 있습니까? 다음에 대한 (기본값) 문자 세트는 무엇입니까? MySQL 데이터베이스 MySQL 테이블 MySQL 열 답변 방법은 다음과 같습니다. 스키마 (또는 데이터베이스-동의어)의 경우 : SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "schemaname"; 테이블의 경우 : SELECT CCSA.character_set_name FROM information_schema.`TABLES` T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA W..

728x90
반응형