MySQL TRUNCATE와 DROP 명령의 가장 큰 차이점은 TRUNCATE 명령은 테이블의 구조를 파괴하지 않지만 대조적으로 DROP 명령은 테이블의 구조도 파괴한다는 것입니다. 예시 mysql> Create table testing(id int PRIMARY KEY NOT NULL AUTO_INCREMENT,Name Varchar(20)); Query OK, 0 rows affected (0.24 sec) mysql> Insert into testing(Name) Values('Ram'),('
MySQL DELETE 명령은 테이블에서 행을 삭제하는 데 사용됩니다. WHERE 절과 함께 사용됩니다. 구문 DELETE From Table_name WHERE Condition; 예시 =100인 테이블 employee에서 행을 삭제했습니다. mysql> select * from employee; +------+--------+ | Id | name | +------+--------+ | 100 | Ram | | 200 | Gaurav | | 300 &nb
TRUNCATE는 데이터베이스에서 테이블 구조를 제거하지 않고 모든 행을 제거한다는 것을 알고 있습니다. 테이블에서 모든 행을 제거할 때 DELETE 명령을 사용하여 동일한 작업을 수행할 수 있습니다. 하지만 두 명령어 사이에 PRIMARY KEY AUTO_INCREMENT의 재초기화에는 상당한 차이가 있습니다. 열이 PRIMARY KEY CONSTRAINT를 갖는 AUTO_INCREMENT로 정의된 경우 DELETE 명령으로 모든 행을 삭제하면 테이블이 다시 초기화되지 않습니다. 즉, 새 행을 입력할 때 AUTO_INCREMEN
MySQL에서는 해당 열을 DEFAULT CURRENT_TIMESTAMP로 선언하여 다른 열에 값을 삽입할 때 해당 열에 현재 날짜와 시간을 자동으로 삽입할 수 있습니다. 예시 mysql> Create table testing -> ( -> StudentName varchar(20) NOT NULL, -> RegDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP -> ); Query OK, 0
이 개념의 이면에 있는 이유는 MySQL은 영어 문법 규칙에 관계없이 단위 키워드가 단수여야 한다고 요구하기 때문입니다. 7일, 2시간 등과 같은 간격을 제공하려고 하면 MySQL은 다음과 같은 구문 오류를 생성합니다. - mysql> Select '2017-02-25 05:04:30' + INTERVAL 2 days; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL ser
INSERT INTO 문에서 컬럼의 이름을 지정하지 않고 컬럼에 값을 삽입하려면 해당 컬럼의 데이터 유형도 고려하면서 테이블의 컬럼 수와 일치하는 값의 수를 제공해야 합니다. 예시 아래 예에서는 열 이름을 지정하지 않고 값을 삽입했습니다. mysql> Insert into student values(100,'Gaurav','Ph.D'); Query OK, 1 row affected (0.08 sec) mysql> Select * from student; +--------+--------+-
ALTER 명령을 사용하여 기존 테이블에 열을 추가할 수 있습니다. 구문 Alter table table-name ADD (column-name datatype); 예시 아래 예에서는 ALTER 명령을 사용하여 Student 테이블에 GRADE 열이 추가되었습니다. mysql> Alter table Student ADD (Grade Varchar(10)); Query OK, 5 rows affected (1.05 sec) Records: 5 Duplicates: 0 Warnings: 0
MySQL에서는 해당 열을 DEFAULT CURRENT_TIMESTAMP로 선언하여 다른 열에 NULL 값을 삽입할 때 해당 열에 현재 날짜와 시간을 자동으로 삽입할 수 있습니다. 이 경우 NULL 값을 삽입하고자 하는 컬럼 NOT NULL을 선언할 수 없습니다. 테이블 생성 Testing1(Name Varchar(20),RegStudent TIMESTAMP DEFAULT CURRENT_TIMESTAMP);쿼리 OK, 영향을 받는 행 0개(0.15초) 위 쿼리는 이름이라는 열(NOT NULL로 선언되지 않음)과 RegDate라는
2월 30일과 같은 날짜를 MySQL 테이블에 저장하려면 먼저 ALLOW_INVALID_DATES 모드를 활성화해야 합니다. 예를 들어, ALLOW_INVALID_DATES 모드를 활성화하지 않고 테이블에 이러한 종류의 날짜를 추가하려고 하면 MySQL은 다음과 같은 오류를 표시합니다. - mysql> Insert into date_testing(date) values('2017-02-30'); ERROR 1292 (22007): Incorrect date value: '2017-02-30' fo
ALTER 명령을 사용하여 기존 테이블에 여러 열을 추가할 수도 있습니다. 구문은 다음과 같습니다 - 구문 Alter table table-name ADD (column-name1 datatype, column-name2 datatype,… column-nameN datatype); 예시 아래 예에서는 ALTER 명령을 사용하여 주소, 전화 및 이메일 열이 학생 테이블에 추가되었습니다. mysql> Alter Table Student ADD(Address Varchar(25), Phone INT, Email Var
ALTER 명령을 사용하여 기존 테이블에 열을 추가하는 동안 기본값도 지정할 수 있습니다. 구문 Alter table table-name ADD (column-name datatype default data); 예시 아래 예에서 ALTER 명령의 도움으로 City 열이 Student 테이블에 기본값 DELHI로 추가됩니다. mysql> Alter table Student ADD(City Varchar(10) Default 'DELHI'); Query OK, 5 rows affected (0.33 sec) Re
ALTER TABLE 명령과 함께 MODIFY 키워드를 사용하여 MySQL 테이블의 열을 수정할 수 있습니다. 동일한 구문은 다음과 같습니다. 구문 Alter table table_name MODIFY column_name1 datatype, MODIFY column_name2 datatype… MODIFY column_nameN datatype); 예시 아래 예에서는 ALTER 명령의 MODIFY 키워드를 사용하여 Address 및 Grade 열의 크기가 수정되었습니다. mysql> Alter table stud
날짜를 다른 형식으로 표시하려면 DATE_FORMAT() 함수를 사용해야 합니다. 이 함수에는 두 개의 인수가 있습니다. 첫 번째는 날짜이고 두 번째는 형식 문자열입니다. 예 − date_testing 테이블에 다음 형식의 날짜가 3개 있다고 가정합니다. mysql> Select * from date_testing; +------------+ | Date | +------------+ | 2017-03-15 | | 2017-03-25 | | 2017-04-05 | +------------
CTAS 스크립트를 사용하여 기존 테이블에서 데이터와 구조를 복사할 수 있다는 것을 알고 있습니다. 일부 조건이 있는 데이터를 복사하려면 CTAS 스크립트와 함께 WHERE 절을 사용해야 합니다. 아래 예를 고려하십시오 - mysql> Create table EMP_BACKUP2 AS SELECT * from EMPLOYEE WHERE id = 300 AND Name = 'Mohan'; Query OK, 1 row affected (0.14 sec) Records: 1 Duplicates: 0 Warnings:
기존 테이블의 열 이름을 잊어버린 경우 SHOW 를 사용할 수 있다고 가정합니다. 열 열 목록을 얻으려면 다음과 같이 명령문 - mysql> SHOW COLUMNS from Employee\G *************************** 1. row *************************** Field: Id Type: int(11) Null: YES Key: Default: NULL Extra: ***********
예, DESCRIBE를 사용할 수 있습니다. 또는 설명 SHOW COLUMNS 대신 문 문을 사용하여 기존 테이블의 열 목록을 가져옵니다. 아래 예에서는 DESCRIBE를 적용했습니다. 및 설명 Employee 테이블에 대한 문 및 SHOW COLUMNS 이후에 얻은 것과 동일한 결과 집합을 얻었습니다. 성명서 - mysql> DESCRIBE Employee\G *************************** 1. row *************************** Field: Id
다음 MySQL 쿼리의 도움으로 지난 달의 마지막 날을 얻을 수 있습니다 - mysql> SELECT LAST_DAY(now() - INTERVAL 1 MONTH) AS 'LAST DAY OF PREVIOUS MONTH'; +----------------------------+ | LAST DAY OF PREVIOUS MONTH | +----------------------------+ | 2017-09-30 |
다음 MySQL 쿼리의 도움으로 다음 달의 마지막 날을 얻을 수 있습니다 - mysql> SELECT LAST_DAY(now() + INTERVAL 1 MONTH) AS 'LAST DAY OF NEXT MONTH'; +------------------------+ | LAST DAY OF NEXT MONTH | +------------------------+ | 2017-11-30 | +------------------------+ 1 r
MySQL 테이블에 날짜 값을 0000-00-00으로 저장한 경우 이러한 종류의 날짜에서 연도 값을 추출하면 MySQL은 0을 반환합니다. 연도(2) 또는 연도(4)가 아닙니다. 체재. 그것을 이해하기 위해 우리는 detail_bday 테이블에서 다음 데이터를 사용하고 있습니다 - mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name | Birth_Date | +----+---------+------------+ | 1 |
MySQL INTERVAL 키워드와 함께 사용할 수 있는 다른 단위 값은 다음과 같습니다 - 마이크로초 이 단위는 현재 시간 또는 사용자가 제공한 시간에서 지정된 마이크로초 수를 더하거나 빼는 데 사용됩니다. mysql> Select NOW()+INTERVAL 100 MICROSECOND +--------------------------------+ | NOW()+INTERVAL 100 MICROSECOND | +--------------------------------+ | 2017-10-28 18:47:25.000100