ALTER TABLE __TB__
MODIFY OWD ENUM('N', 'E', 'W', 'S') NULL COMMENT '풍향';
UPDATE hw2nj2023s
SET OWD =
CASE
WHEN RAND() < 0.25 THEN 'N'
WHEN RAND() >= 0.25 AND RAND() < 0.5 THEN 'W'
WHEN RAND() >= 0.5 AND RAND() < 0.75 THEN 'E'
ELSE 'S'
END;
SELECT
CASE
WHEN RAND() < 0.25 THEN 'N'
WHEN RAND() >= 0.25 AND RAND() < 0.5 THEN 'W'
WHEN RAND() >= 0.5 AND RAND() < 0.75 THEN 'E'
ELSE 'S'
END AS direction;
round(2.5) 반올림 3
floor( 2.5 ) 버림 2
update __TB__ set LED = FLOOR(RAND() * 100);
update __TB__ set OCO2 = floor( rand()*10 -5 ) + CO2
SELECT FLOOR(RAND() * 21) - 10 AS random_number; -- - 10 ~ 10 까지 랜덤
-- 유용한 쿼리
njst2mn 에 넣기
SELECT TABLE_SCHEMA , TABLE_NAME , TABLE_ROWS , TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA like 'mn2nj%' and TABLE_NAME like 'mn2nj20%'and TABLE_ROWS > 100 and TABLE_SCHEMA !='mn2nj00'
ORDER BY 1, TABLE_SCHEMA , TABLE_NAME ;
-- show table status from njst2 과 동일하게 보이게 쿼리.
SELECT
TABLE_NAME AS 'Name',
ENGINE AS 'Engine',
VERSION AS 'Version',
ROW_FORMAT AS 'Row_format',
TABLE_ROWS AS 'Rows',
AVG_ROW_LENGTH AS 'Avg_row_length',
DATA_LENGTH AS 'Data_length',
MAX_DATA_LENGTH AS 'Max_data_length',
INDEX_LENGTH AS 'Index_length',
DATA_FREE AS 'Data_free',
AUTO_INCREMENT AS 'Auto_increment',
CREATE_TIME AS 'Create_time',
UPDATE_TIME AS 'Update_time',
CHECK_TIME AS 'Check_time',
TABLE_COLLATION AS 'Collation',
CHECKSUM AS 'Checksum',
CREATE_OPTIONS AS 'Create_options',
TABLE_COMMENT AS 'Comment'
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'njst2'
ORDER BY TABLE_NAME;
update ps50_site_dat0 set plm2 = '7.59' where ch00 like 'nj4%'
-- Database 별로 SizeInBytes 와 Table개수보기.
SELECT TABLE_SCHEMA AS `Database`
, SUM(data_length + index_length) AS SizeInBytes
, COUNT(TABLE_NAME) AS NumberOfTables
FROM information_schema.TABLES
GROUP BY TABLE_SCHEMA;
update __TB__ set DOY= DATE_FORMAT(rdate, '%j')
ALTER TABLE __TB__
ADD COLUMN DOY INT AFTER rdate;
UPDATE __TB__
SET DOY = DAYOFYEAR(rdate);
UPDATE __TB__ SET co2= 100 + (DAYOFWEEK(rdate) * RAND()*100) where co2=0; -- 요일별 필드데이터 넣기 ;
select UNIX_TIMESTAMP(A.rdate)
, CONCAT(DATE_FORMAT(CONVERT_TZ(A.rdate, '+09:00', '+00:00'), '%Y-%m-%dT%H:%i:%s'), '.000Z') AS UTC
, A.* from ( SELECT DATE(rdate) AS rdate, MAX(temp) AS max_temp, AVG(CASE WHEN HOUR(rdate) BETWEEN 6 AND 18 THEN temp ELSE NULL END) AS day_avg_temp
, AVG(CASE WHEN HOUR(rdate) < 6 OR HOUR(rdate) > 18 THEN temp ELSE NULL END) AS night_avg_temp
, MIN(temp) AS min_temp FROM gapi.0x
GROUP BY DATE(rdate) ORDER BY DATE(rdate) ) as A ; --- 주/야평균 ,최대,최소, UTC , TIMESTAMP , 시간별
insert into 0x (jakGi, rdate, temp, co2, solrad, rha ) select '22_23', H , temp, co2, E , rha from __TB__ order by idx
STR_TO_DATE(CONCAT(rdate, ' ', LPAD(time, 4, '0')), '%Y-%m-%d %H%i') AS datetime_value FROM __TB__;
SELECT DATE_FORMAT(STR_TO_DATE(CONCAT(YEAR(NOW()), ' ', doy ), '%Y %j'), '%Y-%m-%d') AS ymd_date FROM __TB__;
update __TB__ set rdate= DATE_FORMAT(STR_TO_DATE(CONCAT(YEAR(NOW()), ' ', doy ), '%Y %j'), '%Y-%m-%d')
CREATE TABLE test1 (fd1 INT);
SELECT AVG(fd1) AS average_all FROM test1;
SELECT AVG(fd1) AS average_no_null FROM test1 WHERE fd1 IS NOT NULL;
SELECT AVG(COALESCE(fd1, 0)) AS average_null_as_zero FROM test1;
SELECT
AVG(CASE WHEN fd1 IS NOT NULL THEN fd1 END) AS avg_value
FROM
__TB__ ;
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END as `caseRST`
SELECT student_name, score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM students;
unix_timestamp(rdate)
DATE_FORMAT(REGDATE, '%Y-%m-%d %H:%i') AS group_time,
year(REGDATE)
10분단위 그룹바이
SELECT DATE_FORMAT(REGDATE, '%Y-%m-%d %H:%i') AS group_time, COUNT(*) AS count
FROM __TB__
GROUP BY DATE_FORMAT(REGDATE, '%Y-%m-%d %H:%i')
ORDER BY group_time;
SELECT
CASE
WHEN RIGHT(`센서아이디`, 2) = '01' THEN SUBSTRING(`센서아이디`, 1, LENGTH(`센서아이디`) - 2)
ELSE `센서아이디`
END AS `센서아이디_수정`
FROM `환경정보(시설,노지,과수)` ;
UPDATE __TB__
SET `센서아이디` =
CASE
WHEN RIGHT(`센서아이디`, 2) = '01' THEN SUBSTRING(`센서아이디`, 1, LENGTH(`센서아이디`) - 2)
ELSE `센서아이디`
END;
ALTER TABLE __TB__
DROP INDEX rdate,
ADD UNIQUE KEY rdateJakGi (rdate, jakGi);
alter table __TB__ add unique key (`농가아이디`,`시설아이디`,`측정일시`,`항목코드`);
ALTER TABLE __TB__ MODIFY rdate DATETIME;
alter table __TB__ add UniQue key (`date`) ;
alter table __TB__ change date rdate varchar(10) unique key;
AlTER TABLE __TB__ MODIFY COLUMN `ch00` varchar(10) NOT NULL DEFAULT '' COMMENT 'farm_id';
SELECT idx , @rownum:=@rownum+1 AS n
FROM __TB__ , (SELECT @rownum:=0) r limit 10,10
ALTER DATABASE your_database_name
CHARACTER SET utf8
COLLATE utf8_general_ci
COMMENT='카멘트된다';
ALTER DATABASE 디비명 COMMENT = '디비명주석';
ALTER TABLE __TB__ COMMENT='tb카멘트';
alter table __TB__ Modify column `fd1` int(10) comment 'column카멘트'
CREATE DATABASE 디비명 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
create database bbb default character set utf8mb4 collate utf8mb4_unicode_ci;
create database bbb default character set utf8mb4 collate utf8mb4_general_ci;
create database 디비명 default character set utf8;
CREATE DATABASE _DB_ DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
ALTER TABLE __TB__
MODIFY COLUMN `fName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
MODIFY COLUMN `fBirth` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE __TB__ DROP PRIMARY KEY, ADD PRIMARY KEY (`cknow`);
ALTER TABLE __TB__ DROP PRIMARY KEY, ADD PRIMARY KEY (rdate);
update __TB__ set rdate=cknow;
update __TB__ set `재배면적평` = replace(`재배면적평`,'평','') where 1;
SELECT TIMESTAMPDIFF(MINUTE, rdate, cknow) AS time_difference_minutes FROM __TB__ ORDER BY rdate DESC LIMIT 1000,10;
UPDATE __TB__ SET cknow = DATE_ADD(rdate, INTERVAL 540 MINUTE) ;
SELECT TABLE_COMMENT
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = '__DB__'
AND TABLE_NAME = '__TB__';
ALTER TABLE __TB__ AUTO_INCREMENT=1;
ALTER TABLE __TB__ add primary key (`fd`);
ALTER TABLE __TB__
DROP PRIMARY KEY,
DROP COLUMN `idx`,
ADD PRIMARY KEY (`rdate`);
insert ignore into __TB__ "오류무시 진행"
kw=%키워드 :테이블내 `키워드` 데이타 찾기
kwd=디지털 시각,숫자 Collation없는것
kwc=문자형 Collation utf8_general_ci
t=%테이블 :테이블명 검색
null2s=1 이면 null 오류해결
Dt57x=1 이면 DateType 0000-00-00 00:00:00 을 해결 연도를 0000-01-01로 해주는 쿼리 생성해줌
Dt57x=2 이면 not null 까지만하고 default '' 안해주어 5.7에서 입력오류나는것 위한 쿼리생성해줌
Dt57x=2a 필드별로 각각 실행쿼리로 만들어준다
Dt57x=2atInc int, pri 경우 auto_increment를 추가하는 쿼리를 생성해줌.
g5to=입력 이면 `g5_` 를 `입력_` 로 테이블명 변경함
g5=lsto 하면 lsto_* => 입력_* 로 테이블명 변경
ALTER DATABASE _DB_ CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
show table status from _DB_
i;
SET GLOBAL storage_engine = MyISAM;
grant all on *.* to MyUID identified by 'MyPWD';
grant all on *.* to MyUID@localhost identified by 'MyPWD';
flush privileges;
hasFds=찾을필드명
`rdate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일' ,
`udate` DATETIME on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '수정일'
alter table __TB__ change FD FD datetime not null default '0001-01-01 00:00:00' on update CURRENT_TIMESTAMP COMMENT '수정일' ;
MySQL 설정 파일(my.cnf 또는 my.ini)을 엽니다.
[mysqld] 섹션에 다음을 추가합니다.
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
이렇게 하면 "0000-00-00" 또는 "0000-00-00 00:00:00" 값을 입력해도 오류가 발생하지 않습니다.
ONLY_FULL_GROUP_BY: 그룹화된 결과 집합에 사용되지 않은 열에 대한 엄격한 체크를 활성화합니다. 즉, GROUP BY 절에서 명시하지 않은 열은 사용할 수 없습니다.
STRICT_TRANS_TABLES: 트랜잭션 처리에 대한 엄격한 체크를 활성화합니다. 이 모드에서는, INSERT 또는 UPDATE 문에서 잘못된 값이 사용되는 경우 경고 메시지가 발생하고, 쿼리가 실행되지 않습니다.
ERROR_FOR_DIVISION_BY_ZERO: 0으로 나누는 연산이 발생하는 경우 오류를 발생시킵니다. 이 모드는, 예를 들어 1/0 과 같은 쿼리를 실행할 경우 오류를 발생시키며, 실행되지 않습니다.
NO_ENGINE_SUBSTITUTION: 데이터베이스 엔진이 누락되거나 사용할 수 없는 경우 오류를 발생시키지 않고, 기본값인 InnoDB를 사용합니다.
STRICT_TRANS_TABLES 옵션이 not null로 지정한 열에 데이터를 입력하지 않을 경우 오류를 발생시키지 않습니다. 다른 옵션들은 입력하지 않으면 오류가 발생할 수 있습니다.
[mysqld]
default-storage-engine = MyISAM
MySQL에서 TEXT 타입은 아래와 같이 4가지 종류로 분류됩니다.
tinytext: 최대 255바이트(2^8 -1)의 문자열
text: 최대 65,535바이트(2^16-1)의 문자열
mediumtext:최대 16,777,215바이트(2^24-1)의 문자열
longtext: 최대 4,294,967,295바이트(2^32-1)의 문자열
> 2**8 = 256
> 2**16 = 65,536
> 2**24 = 16,777,216
> 2**32 = 4,2 94,96 7,296
42 9496 7296
>
maxlength=196,605
196605라는 값은 LONGTEXT 데이터 타입에서 저장할 수 있는 최대 문자 수인 4294967295바이트에서 4바이트를 뺀 값인 4294967291바이트(= 2^32 - 1 - 4)를 UTF-8로 인코딩한 결과로 계산된 값
입니다. 즉, 이 값은 MySQL에서 LONGTEXT 데이터 타입으로 지정한 열에서 입력 가능한 최대 문자 수를 의미합니다.
END^
/mnt/d/_St/y/_docs/_inc_uddia_help.php
REMOTE_ADDR
172.19.96.1
Fatal error: Uncaught Error: Call to undefined function requestURI_POST() in /mnt/d/_St/y/_docs/_inc_uddia_help.php:317
Stack trace:
#0 {main}
thrown in
/mnt/d/_St/y/_docs/_inc_uddia_help.php on line
317