0이 있는 항목을 제외하려면 함수 AVG()와 함께 NULLIF()를 사용해야 합니다. 구문은 다음과 같습니다. SELECT AVG(NULLIF(yourColumnName, 0)) AS anyAliasName FROM yourTableName; 먼저 테이블을 생성해 보겠습니다. mysql> create table AverageDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > S
MySQL에서 총 시간을 계산하려면 SEC_TO_TIME()을 사용해야 합니다. 테이블을 생성하여 예를 살펴보겠습니다. );쿼리 OK, 영향을 받는 행 0개(0.63초) 삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다. AddTotalTimeDemo(LoginTime) 값에 삽입(05:07:00);쿼리 OK, 1행 영향(0.11초) select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다. 선택 *AddTotalTimeDemo; 다음은 출력입니다. +---
ON UPDATE CURRENT_TIMESTAMP는 명시적 타임스탬프가 없는 업데이트로 인해 현재 타임스탬프 값이 업데이트됨을 정의합니다. ALTER 명령을 사용하여 열에서 ON UPDATE CURRENT_TIMESTAMP를 제거할 수 있습니다. 구문은 다음과 같습니다. ALTER TABLE yourTableName CHANGE yourTimeStampColumnName yourTimeStampColumnName timestamp NOT NULL default CURRENT_TIMESTAMP; 위의 구문을 이해하기 위해 테이블
가장 긴 varchar 길이를 얻으려면 CHAR_LENGTH()를 사용해야 합니다. 구문은 다음과 같습니다. SELECT Max(CHAR_LENGTH(yourColumnName)) AS anyAliasName FROM yourTableName; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table CharLengthDemo - > ( - > Id int NOT NULL AUTO_INCREMEN
다음은 MySQL의 END IF 문의 구문입니다. IF yourCondition THEN yourStatement ELSE yourStatement END IF 다음은 저장 프로시저를 생성하는 동안 END IF 문의 데모입니다. mysql> DELIMITER // mysql> CREATE PROCEDURE Sp_Test( IN value INT ) - > BEGIN - > IF value < 10 THEN - > select 'Your value is less th
값이 쉼표로 구분된 목록에 있는지 확인하려면 FIND_IN_SET() 함수를 사용할 수 있습니다. 구문은 다음과 같습니다. SELECT *FROM yourTablename WHERE FIND_IN_SET(‘yourValue’,yourColumnName) > 0; 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table existInCommaSeparatedList - > ( - > Id int NOT NULL AUTO_INCR
server_id를 얻으려면 시스템 정의 변수 @@server_id를 사용하십시오. server_id에 대한 사용자 정의 변수로 @ 하나만 사용할 수 없습니다. 구문은 다음과 같습니다. SELECT@@ server_id 대안으로 SHOW VARIABLES 명령을 사용할 수 있습니다. 구문은 다음과 같습니다. SHOW VARIABLES LIKE ‘server_id’; 사례 1 쿼리는 다음과 같습니다 mysql> SELECT @@server_id as SERVER_ID; 다음은 출력입니다. +----
예, 쉽게 server_id와 UUID를 연결할 수 있습니다. 구문은 다음과 같습니다. SELECT CONCAT(@@ server_id,UUID()) 위에서 @@server_id를 사용하여 server_id의 값을 가져왔습니다. @@server_id는 시스템 정의 변수입니다. 쿼리를 보지 말자 mysql> SELECT CONCAT(@@server_id, UUID()) AS ServerUUIDDemo; 다음은 server_id와 UUID를 연결한 결과를 보여주는 출력이다. +----------------------------
MySQL에는 TOP의 개념이 없습니다. 쿼리를 작성하는 다른 방법은 LIMIT를 사용하는 것입니다. 즉, 2개의 레코드를 선택하려면 TOP 2를 사용해야 합니다. MySQL에서 동일한 구문을 살펴보겠습니다. SELECT *FROM yourTableName ORDER BY yourColumnName DESC LIMIT 2; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. );쿼리 OK, 영향을 받는 행 0개(0.91초) 삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼
예, 이 MySQL의 경우 NOT IN이 함께 제공됩니다. 구문은 다음과 같습니다. SELECT *FROM yourTableName WHERE yourColumnName NOT IN(1,2,7); 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table User_informations - > ( - > UserId int, - > UserName varchar(20)
ySQL 데이터베이스 테이블에 몇 개의 행이 있는지 알기 위해서는 집계 함수 COUNT(*)를 사용해야 합니다. 구문은 다음과 같습니다. SELECT COUNT(*) FROM yourTableName; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table CountRowsDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, &nb
예, ||로 문자열을 연결할 수 있습니다. sql_mode의 도움으로 MySQL에서. sql_mode를 PIPES_AS_CONCAT으로 설정합니다. 구문은 다음과 같습니다. set sql_mode=PIPES_AS_CONCAT; 다음은 ||를 사용하여 연결하는 구문입니다. SELECT ‘yourValue' || yourColumName AS anyAliasName FROM yourTableName; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> c
SHOW CREATE 명령을 사용하여 MySQL의 기존 테이블을 기반으로 테이블 생성 명령을 생성할 수 있습니다. 구문은 다음과 같습니다. SHOW CREATE TABLE yourTableName; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table StudentInformation - > ( - > StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ORDER BY 절을 사용하여 여러 가능한 타임스탬프 세트에서 가장 최근 날짜를 선택할 수 있습니다. 구문은 다음과 같습니다. SELECT yourColumnName1,yourColumnName2,...N FROM yourTableName ORDER BY yourTimestampColumnName DESC LIMIT 1; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table MostRecentDateDemo - > ( &
마지막 레코드 이전의 레코드, 즉 MySQL에서 두 번째 마지막 레코드를 얻으려면 하위 쿼리를 사용해야 합니다. 구문은 다음과 같습니다. SELECT *FROM (SELECT *FROM yourTableName ORDER BY yourIdColumnName DESC LIMIT 2) anyAliasName ORDER BY yourIdColumnName LIMIT 1; 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table lastRecordBeforeLastOne  
이를 위해 ORDER BY 절을 사용해야 합니다. 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. );쿼리 OK, 영향을 받는 행 0개(0.56초) 이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 여기에 두 개의 유사한 날짜가 있지만 다른 시간(예:2018-01-24)이 있습니다. insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values(2019-01-31,20:20:30);쿼리 OK, 1행 영향(0.26초
먼저 열 중 하나가 datetime형인 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table Add6Hour - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > ArrivalTime datetime - > ); Query OK, 0 rows affected (0.56 sec) 삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 mysql> inse
MySQL에서 음수를 방지하려면 INT UNSIGNED를 사용해야 합니다. 열이 int인 테이블을 생성했다고 가정해 보겠습니다. 즉, 여기에 UserGameScores );쿼리 OK, 영향을 받는 행 0개(1.74초) 이제 음수를 방지해야 하는 경우 INT UNSIGNED로 동일한 열을 수정하십시오. alter table preventNegativeNumberDemo 수정 열 UserGameScores INT UNSIGNED NOT NULL;Query OK, 영향을 받는 행 0개(3.32초) 레코드:0 중복:0 경고:0 이제
LIMIT가 10인 SQL ORDER BY 절을 사용하여 데이터베이스에서 처음 10개 요소를 선택하려면 구문은 다음과 같습니다. SELECT *FROM yourTableName ORDER BY yourIdColumnName LIMIT 10; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table Clients - > ( - > Client_Id int NOT NULL AUTO_INCREMENT
다음은 MySQL CASE OR 조건의 구문입니다. SELECT yourColumnName1,.....N , CASE WHEN yourColumnName2=0 or yourColumnName2IS NULL THEN 'yourMessage1' ELSE 'yourMessage2' END AS yourAliasName FROM yourTableName; 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table