NO_ZERO_IN_DATE 모드를 비활성화하여 MySQL 테이블에 연도 값만 있는 날짜를 저장할 수 있고 0개월과 0일을 가질 수 있습니다. 이 모드가 활성화되면 MySQL은 그러한 종류의 날짜를 유효하지 않은 날짜로 계산하고 모두 0을 저장합니다. mysql> Insert into year_testing (OrderDate) values('2017:00:00'); Query OK, 1 row affected (0.09 sec) mysql> select * from year_testing; +------
CURDATE() 및 NOW() 함수의 도움으로 현재 날짜를 MySQL 테이블의 열에 자동으로 삽입할 수 있습니다. 예시 year_testing 테이블의 OrderDate 열에 현재 날짜를 자동으로 삽입하기를 원한다고 가정하면 다음 쿼리가 이를 수행합니다. - mysql> Insert into year_testing (OrderDate) Values(CURDATE()); Query OK, 1 row affected (0.11 sec) mysql> Select * from year_testing; +------------
SQL 언어는 DML, DDL, DCL 및 TCL의 4가지 유형의 기본 언어 문으로 나뉩니다. 이러한 명령문을 사용하여 데이터베이스 개체를 생성 및 변경하여 데이터베이스 구조를 정의할 수 있으며 업데이트 또는 삭제를 통해 테이블의 데이터를 조작할 수 있습니다. 또한 데이터를 읽고 쓸 수 있는 사용자를 제어하거나 단일 작업 단위를 생성하기 위해 트랜잭션을 관리할 수 있습니다. SQL 문의 네 가지 주요 범주는 다음과 같습니다. - DML(데이터 조작 언어) DML 문은 테이블의 레코드에 영향을 줍니다. 테이블에서 몇 개의 레코드
test라는 데이터베이스가 있습니다. SHOW DATABASES. 문에 의해 표시된 데이터베이스 목록에서 우리는 테스트 데이터베이스를 사용할 수 있지만 주요 단점은 이 데이터베이스에서 생성된 모든 것이 액세스 권한이 있는 다른 사람에 의해 제거/변경될 수 있다는 것입니다. 이것을 피하기 위해 우리는 우리 자신의 데이터베이스를 사용하기 위해 MySQL 관리자로부터 허가를 받아야 합니다. 권한을 얻으려면 다음 명령을 실행해야 합니다 - mysql> grant all on tutorial.* to root@localhost; Qu
날짜 간의 비교 연산자는 논리적인 방식으로 작동합니다. 다음 예에서 두 날짜를 비교하는 동안 MySQL은 단순히 두 숫자 또는 문자열을 비교합니다 - select 20171027 <20150825;+-----------------------------------------+| 20171027 <20150825 |+------------------------------------------+| 0 |+---------------------------+1 행 세트(0.00초) 0 출력은 위 쿼리의 결과가 FALSE임을 나타냅니다.
이러한 종류의 계산은 날짜가 MySQL 문자열로 표시될 때 MySQL이 처음 나타나는 것만 취하여 문자열에 대해 숫자 연산을 수행하려고 하기 때문에 예측할 수 없는 결과를 초래할 수 있습니다. 다음 예는 그것을 명확히 할 것입니다 - select 2017-05-25/5;+-- --------------+| 2017-05-25/5 |+----------------+| 403.4 |+----------------+1 행 세트, 1 경고(0.00초)
현재 자습서 데이터베이스를 사용하고 있으므로 후속 쿼리를 위한 기본 MySQL 데이터베이스가 된다고 가정합니다. 이제 USE db_name의 도움으로 문, 우리는 기본 데이터베이스를 다른 주어진 데이터베이스 후속 쿼리로 변경할 수 있습니다. mysql> USE Sample Database changed 데이터베이스는 튜토리얼에서 샘플로 변경되었습니다. 이를 확인하기 위해 다음 명령을 실행할 수 있습니다 - mysql> select database(); +------------+ | database() | +------
현재 사용 중인 MySQL 데이터베이스의 이름을 표시할 수 있습니다. Select Database() 명령. mysql> select database(); +------------+ | database() | +------------+ | tutorial | +------------+ 1 row in set (0.00 sec) 이 명령은 현재 자습서 를 사용하고 있음을 보여줍니다. 데이터베이스.
CREATE DATABASE db-name의 도움으로 명령을 사용하여 MySQL 데이터베이스를 생성하는 명령문을 확인할 수 있습니다. mysql> SHOW CREATE DATABASE Sample; +----------+-------------------------------------------------------------------+ | Database | Create Database
테이블에 저장된 날짜 값으로 이러한 종류의 작업을 수행하려고 하면 MySQL은 날짜 값을 숫자로 가정하고 산술을 수행합니다. orderdate 열에 날짜 값이 있는 example이라는 이름의 테이블이 있다고 가정하고 다음 산술 연산은 위의 내용을 명확하게 합니다. - mysql> select * from example; +------------+ | orderdate | +------------+ | 2017-05-25 | +------------+ 1 row in set (0.00 sec) mysql> s
MySQL은 INTERVAL 키워드를 시간, 날짜 또는 날짜/시간 단위와 함께 추가하여 더하기 및 빼기 연산자로 날짜 산술을 수행할 수 있습니다. 예 1 특정 날짜에 2일을 추가합니다. mysql> Select '2017-05-20' + INTERVAL 2 day; +-------------------------------+ | '2017-05-20' + INTERVAL 2 day | +-------------------------------+ | 2017-05-22 &n
기본 MySQL 데이터베이스는 현재 후속 쿼리에 사용 중인 데이터베이스라는 것을 알고 있습니다. SHOW TABLES를 사용하여 해당 데이터베이스의 테이블 목록을 가져올 수 있습니다. 성명서. mysql> SHOW TABLES; +------------------+ | Tables_in_sample | +------------------+ | employee | | new_student | | student | +------------------+ 3 rows in set (0.00
다음 명령문은 샘플 데이터베이스에서 email 열이 있는 두 테이블의 목록을 보여줍니다 - mysql> SELECT DISTINCT TABLE_NAME -> FROM INFORMATION_SCHEMA.COLUMNS -> WHERE COLUMN_NAME IN('EMAIL') -> AND TABLE_SCHEMA = 'SAMPLE'; +---------------+ | TABLE_NAME |
0000-00-00과 같은 날짜를 MySQL 테이블의 열에 저장하려면 SQL 모드를 allow_invalid_date로 설정해야 합니다. 다음 예는 그것을 보여줄 것입니다 - mysql> SET sql_mode = 'allow_invalid_dates'; Query OK, 0 rows affected, 1 warning (0.03 sec) mysql> Create table test_date(date_order date); Query OK, 0 rows affected (0.45 sec) mysql>
CREATE DATABASE db_name은 우리가 선택한 MySQL 데이터베이스를 생성하는 데 사용할 수 있습니다. 예를 들어 Sample이라는 데이터베이스를 생성하려면 다음과 같이 명령을 실행해야 합니다. - mysql> CREATE DATABASE Sample; Query OK, 1 row affected (0.04 sec)
UNIX_TIMESTAMP 함수는 초 단위로 출력을 생성합니다. 즉, 이 함수는 지정된 날짜 또는 날짜/시간 값을 총 초 단위로 변환합니다. 예를 들어 날짜 1970-05-15 05:04:30은 UNIX_TIMESTAMP 함수에 의해 총 11576070초로 변환됩니다. mysql> select UNIX_TIMESTAMP('1970-05-15 05:04:30'); +---------------------------------------+ | UNIX_TIMESTAMP('1970-05-15 05:04:30&
데이터베이스 표시 명령은 현재 존재하는 MySQL 데이터베이스 목록을 표시하는 데 사용됩니다. mysql> Show Databases; +-----------------------------+ | Database | +-----------------------------+ | information_schema | | gaurav &
실제로 데이터베이스 및 테이블 이름의 대소문자 구분은 기본 운영 체제의 대소문자 구분에 따라 크게 달라집니다. 따라서 이러한 이름은 Windows에서는 대소문자를 구분하지 않지만 대부분의 Unix에서는 대소문자를 구분한다고 말할 수 있습니다.
데이터베이스는 한 번만 생성되지만 MySQL을 시작할 때마다 선택해야 합니다. 세션. USE db_name의 도움으로 수행할 수 있습니다. MySQL 명령줄 도구에 대한 설명입니다. mysql> Use Query; Database changed 현재 쿼리를 사용하고 있음을 보여줍니다. 데이터베이스. Windows 명령줄에서 MySQL을 호출하는 동안 데이터베이스를 선택할 수도 있습니다. 다음 명령의 도움으로 수행할 수 있습니다 - C:\Program Files\MySQL\bin>mysql -u root -p quer
MySQL UNIX_TIMESTAMP 함수의 도움으로 주어진 날짜/DateTime에서 초 수를 생성할 수 있다는 것을 알고 있습니다. 그러나 1965-05-15와 같은 날짜를 변환하려고 하면 TIMESTAMP의 범위가 1970-01-01 00:00:01에서 2038-01- 19 08:44:07. 따라서 TIMESTAMP 범위를 벗어난 날짜 값은 변환할 수 없으며 항상 0을 출력으로 반환합니다. 예는 다음과 같습니다 - mysql> Select UNIX_TIMESTAMP ('1965-05-15'); +------