728x90
반응형

SQL 20

SQL Server에서 INSERT INTO로 데이터 내보내기

질문 : SQL Server에서 INSERT INTO로 데이터 내보내기 SQL Server 2008 Management Studio를 사용하고 있으며 다른 DB 서버로 마이그레이션하려는 테이블이 있습니다. SQL 스크립트에 삽입으로 데이터를 내보내는 옵션이 있습니까 ?? 답변 개체 탐색기의 SSMS에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 "작업"을 선택한 다음 "스크립트 생성"을 선택합니다. 이렇게하면 단일 또는 모든 테이블에 대한 스크립트를 생성 할 수 있으며 옵션 중 하나는 "스크립트 데이터"입니다. TRUE로 설정하면 마법사가 데이터에 대한 INSERT INTO () 문을 사용하여 스크립트를 생성합니다. 2008 R2 또는 2012를 사용하는 경우 다른 이름으로 불립니다. 아래 스크린 샷을..

SQL Server의 DateTime2 vs DateTime

질문 : SQL Server의 DateTime2 대 DateTime 어느 것: datetime datetime2 SQL Server 2008+에서 날짜와 시간을 저장 하는 데 권장되는 방법은 무엇입니까? 정밀도 (그리고 아마도 저장 공간)의 차이를 알고 있지만 지금은이를 무시하고 언제 무엇을 사용해야하는지에 대한 모범 사례 문서가 있습니까? datetime2 답변 대한 MSDN 문서 날짜는 사용을 권장 DATETIME2를 . 권장 사항은 다음과 같습니다. time , date , datetime2 및 datetimeoffset 데이터 유형을 사용하십시오. 이러한 유형은 SQL 표준과 일치합니다. 휴대 성이 더 뛰어납니다. time , datetime2 및 datetimeoffset 은 더 많은 초 정밀도..

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

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

SQL 원하지 않는 칼럼을 제외하고 SELECT 하는 방법

질문 : SQL은 SELECT * [columnA 제외] FROM tableA를 사용하여 열을 제외합니까? 우리 모두는 테이블에서 모든 열을 선택하기 위해 SELECT * FROM tableA 모든 열을 지정하지 않고 테이블에서 열을 제외하는 방법이 있습니까? SELECT * [except columnA] FROM tableA 내가 아는 유일한 방법은 모든 열을 수동으로 지정하고 원하지 않는 열을 제외하는 것입니다. 이것은 정말로 시간이 많이 소요되므로 테이블에 열이 많거나 적을 경우 향후 유지 관리뿐만 아니라 이에 대한 시간과 노력을 절약 할 방법을 찾고 있습니다. 답변 이 방법으로 시도 할 수 있습니다. /* Get the data into a temp table */ SELECT * INTO #Te..

각 그룹의 상위 1 개 행 가져 오기

질문 : 각 그룹의 상위 1 개 행 가져 오기 각 그룹에 대한 최신 항목을 얻고 싶은 테이블이 있습니다. 표는 다음과 같습니다. DocumentStatusLogs 테이블 |ID| DocumentID | Status | DateCreated | | 2| 1 | S1 | 7/29/2011 | | 3| 1 | S2 | 7/30/2011 | | 6| 1 | S1 | 8/02/2011 | | 1| 2 | S1 | 7/28/2011 | | 4| 2 | S2 | 7/30/2011 | | 5| 2 | S3 | 8/01/2011 | | 6| 3 | S1 | 8/02/2011 | 테이블은 DocumentID DateCreated 별로 내림차순으로 정렬됩니다. 각 DocumentID 에 대해 최신 상태를 얻고 싶습니다. 내..

java.util.Date를 java.sql.Date로 변환하는 방법

질문 : java.util.Date를 java.sql.Date로 변환하는 방법? java.util.Date 를 입력으로 사용하고 쿼리를 생성하려고합니다. java.sql.Date 암시 적으로 또는 명시 적으로 변환을 수행 할 수 없다는 사실에 놀랐습니다.하지만 Java API가 여전히 나에게 상당히 새롭기 때문에 어떻게 해야할지 모르겠습니다. 답변 java.util.Date를 java.sql.Date로 변환하는 방법? 하지마. 두 클래스 모두 구식입니다. JDBC 4.2 이상에서 레거시 java.util.Date 및 java.sql.Date대신 java.time 클래스를 사용하십시오. 아직 java.time으로 업데이트되지 않은 코드와 상호 운용되는 경우 java.time으로 /에서 변환합니다. Prep..

[Database] left, right, outer, inner join의 차이점

질문 : 왼쪽, 오른쪽, 외부 및 내부 조인의 차이점은 무엇입니까?이 모든 조인을 차별화하는 방법이 궁금합니다 ...답변간단한 예 Students 테이블과 Lockers 테이블이 있다고 가정 해 보겠습니다. SQL에서 조인에 지정하는 첫 번째 테이블 인 Students 는 LEFT 테이블이고 두 번째 테이블 인 Lockers 는 RIGHT 테이블입니다.각 학생은 로커에 할당 될 수 있으므로 Student LockerNumber 열이 있습니다. 한 명 이상의 학생이 잠재적으로 단일 사물함에있을 수 있지만, 특히 학년 초에는 사물함이없는 신입생과 배정 된 학생이없는 사물함이있을 수 있습니다.이 예를 위해 학생 100 명 중 70 명에 사물함이 있다고 가정 해 보겠습니다. 총 50 개의 사물함 이 있으며 그중..

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의 계층 구조 표현 : 특히 Nested Set에 대한 매우 좋은 개요 RDBMS의 계층 적 데이터 : 내가 본 것 중 가장 포괄적이고 잘 구성된 링크 집합이지만 설명 방식은 그리 많..

SQLite 데이터베이스에 한 번에 여러 행을 삽입 하는 방법

질문 : SQLite 데이터베이스에 한 번에 여러 행을 삽입 할 수 있습니까? MySQL에서는 다음과 같이 여러 행을 삽입 할 수 있습니다. INSERT INTO 'tablename' ('column1', 'column2') VALUES ('data1', 'data2'), ('data1', 'data2'), ('data1', 'data2'), ('data1', 'data2'); 그러나 이와 같은 작업을 시도하면 오류가 발생합니다. SQLite 데이터베이스에 한 번에 여러 행을 삽입 할 수 있습니까? 이를 수행하는 구문은 무엇입니까? 답변 BrianCampbell이 여기 에서 지적했듯이 SQLite 3.7.11 이상은 이제 원본 게시물의 더 간단한 구문을 지원합니다 . 그러나 표시된 접근 방식은 레거시 데..

SQL Server의 SELECT로 테이블을 업데이트 하는 방법

질문 : SQL Server의 SELECT에서 어떻게 업데이트합니까? SQL Server 에서는 INSERT.. SELECT 문을 사용하여 테이블에 행을 삽입 할 수 있습니다. INSERT INTO Table (col1, col2, col3) SELECT col1, col2, col3 FROM other_table WHERE sql = 'cool' SELECT 로 테이블 을 업데이트 할 수도 있습니까? 값이 포함 된 임시 테이블이 있으며 해당 값을 사용하여 다른 테이블을 업데이트하고 싶습니다. 아마도 다음과 같습니다. UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_..

SQL Server에서 여러 행의 텍스트를 단일 텍스트 문자열로 연결하는 방법

질문 : SQL Server에서 여러 행의 텍스트를 단일 텍스트 문자열로 연결하는 방법은 무엇입니까? 세 개의 행이있는 이름을 보유하는 데이터베이스 테이블을 고려하십시오. Peter Paul Mary Peter, Paul, Mary 의 단일 문자열로 바꾸는 쉬운 방법이 있습니까? 답변 SQL Server 2017 또는 Azure를 사용하는 경우 Mathieu Renda 답변을 참조하세요. 일대 다 관계로 두 테이블을 조인하려고 할 때 비슷한 문제가 발생했습니다. XML PATH 메서드가 행의 연결을 매우 쉽게 처리 할 수 있음을 발견했습니다. STUDENTS 라는 테이블이있는 경우 SubjectID StudentName ---------- ------------- 1 Mary 1 John 1 Sam 2 ..

ATTACH로 열린 SQLite 데이터베이스 파일의 테이블을 나열하는 방법

질문 : ATTACH로 열린 SQLite 데이터베이스 파일의 테이블을 나열하는 방법은 무엇입니까? SQLite 데이터베이스 파일에서 테이블 및 해당 테이블 내의 행을 나열하는 데 사용할 수있는 SQL 은 무엇입니까 ? SQLite 3 명령 줄 도구 ATTACH 명령을 사용하여 연결하면? 답변 .tables 및 .schema "helper"함수는 ATTACH 된 데이터베이스를 조사하지 않고 "main"데이터베이스에 대해 SQLITE_MASTER 결과적으로 ATTACH some_file.db AS my_db; 그럼 당신은해야 SELECT name FROM my_db.sqlite_master WHERE type='table'; .tables 와 함께 표시되지 않습니다 sqlite_temp_master 위해 s..

SQL SELECT에서 IF… THEN을 수행하는 원리

질문 : SQL SELECT에서 IF… THEN을 어떻게 수행합니까? SQL SELECT 문에서 IF...THEN 을 어떻게 수행합니까? 예를 들면 : SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product 답변 CASE 문은 SQL의 IF에 가장 가깝고 모든 버전의 SQL Server에서 지원됩니다. SELECT CAST( CASE WHEN Obsolete = 'N' or InStock = 'Y' THEN 1 ELSE 0 END AS bit) as Saleable, * FROM Product 결과를 부울 값으로 원하는 경우 CAST 를 수행하면됩니다. int 만족하면 다음과 같이 작동합니다. SELECT CASE WH..

SQL 단일 쿼리로 여러 행을 삽입 하는 방법

질문 : 단일 SQL 쿼리에 여러 행을 삽입 하시겠습니까? 한 번에 삽입 할 여러 데이터 세트 (예 : 4 행)가 있습니다. 내 테이블에는 Person , Id 및 Office 세 열이 있습니다. INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office"); INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office"); INSERT INTO MyTable VALUES ("Billy", 125, "London Office"); INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office"); 단일 SQL 문에 4 개의 행을 모두 삽입 할 수 있습니까? 답변 SQL Server..

SQL Server에서 JOIN을 사용하여 UPDATE 문을 사용하는 방법

질문 : SQL Server에서 JOIN을 사용하여 UPDATE 문을 어떻게 수행 할 수 있습니까? SQL Server 에서이 테이블을 '부모'테이블의 데이터로 업데이트해야합니다. 아래를 참조하십시오. 표 : 판매 id (int) udid (int) assid (int) 표 : ud id (int) assid (int) sale.assid 업데이트에 대한 올바른 값이 포함되어 ud.assid . 이 작업을 수행하는 쿼리는 무엇입니까? join 생각하고 있지만 가능한지 잘 모르겠습니다. 답변 구문은 사용중인 SQL DBMS에 따라 다릅니다. 다음은 ANSI / ISO (모든 SQL DBMS에서 작동해야 함), MySQL, SQL Server 및 Oracle에서이를 수행하는 몇 가지 방법입니다. 내가 제안한..

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..

JavaScript에서 모든 문자열을 바꾸는 방법

질문 : JavaScript에서 모든 문자열을 바꾸는 방법내 JavaScript 코드에이 문자열이 있습니다."Test abc test test abc test test test abc test test abc" 하기:str = str.replace('abc', ''); 위의 문자열에서 abc 의 첫 번째 항목 만 제거하는 것 같습니다.모든 항목을 어떻게 바꿀 수 있습니까?답변업데이트 : 가장 많이 사용되는 브라우저의 최신 버전에서 다음과 같이 replaceAlllet result = "1 abc 2 abc 3".replaceAll("abc", "xyz"); // `result` is "1 xyz 2 xyz 3" 하지만 대상 브라우저가 먼저 지원을 추가했는지 확인하려면 먼저 또는 다른 호환성 표를 사용할 ..

GUID / UUID를 만드는 방법

질문 : GUID / UUID를 만드는 방법JavaScript에서 전역 적으로 고유 한 식별자를 만들려고합니다. 모든 브라우저에서 어떤 루틴을 사용할 수 있는지, 내장 난수 생성기를 "무작위"하고 시드했는지 등을 잘 모르겠습니다.GUID / UUID는 32 자 이상이어야하며 ASCII 범위에 있어야 전달시 문제가 발생하지 않습니다.답변RFC 4122 에 따르면 GUID (Globally Unique IDentifier)라고도하는 UUID (Universally Unique IDentifier)는 특정 고유성 보장을 제공하도록 설계된 식별자입니다.몇 줄의 JavaScript 코드에서 RFC 호환 UUID를 구현할 수 있지만 (예 : 아래 @broofa의 답변 참조) 몇 가지 일반적인 함정이 있습니다.잘못된..

728x90
반응형