MySQL運(yùn)算符操作詳解
整數(shù)類型數(shù)據(jù)存儲(chǔ)整數(shù)類型數(shù)據(jù)主要用來存儲(chǔ)數(shù)字,在MySQL中提供了多種整數(shù)類型選擇,可以設(shè)置auto_increment自增約束條件。例如,創(chuàng)建數(shù)據(jù)庫db_demo2,表tb_temp1包含字段a、
整數(shù)類型數(shù)據(jù)存儲(chǔ)
整數(shù)類型數(shù)據(jù)主要用來存儲(chǔ)數(shù)字,在MySQL中提供了多種整數(shù)類型選擇,可以設(shè)置auto_increment自增約束條件。例如,創(chuàng)建數(shù)據(jù)庫db_demo2,表tb_temp1包含字段a、b、c、d、e的數(shù)據(jù)類型分別為tinyint、smallint、mediumint、int(Integer)、bigint。SQL語句如下:
```sql
create database db_demo2;
use db_demo2;
create table tb_temp1(a tinyint, b smallint, c mediumint, d int, e bigint);
desc temp1;
```
執(zhí)行結(jié)果顯示表結(jié)構(gòu)和字段數(shù)據(jù)類型。
浮點(diǎn)和定點(diǎn)數(shù)據(jù)類型
MySQL使用浮點(diǎn)數(shù)和定點(diǎn)數(shù)來表示小數(shù),分為單浮點(diǎn)和雙浮點(diǎn)。例如,創(chuàng)建數(shù)據(jù)表tb_temp2,字段x為float(5,1),y為double(5,1),z為decimal(5,1),插入數(shù)據(jù)5.12、5.15和5.123。SQL語句如下:
```sql
create table tb_temp2(x float(5,1), y double(5,1), z decimal(5,1));
insert into tb_temp2 values(5.12, 5.15, 5.123);
```
執(zhí)行結(jié)果展示插入數(shù)據(jù)后的表狀態(tài)。
日期與時(shí)間類型
YEAR類型
YEAR類型用于表示年份,存儲(chǔ)時(shí)只需要1個(gè)字節(jié)??梢砸圆煌袷街付╕EAR值,例如4位字符串或數(shù)字格式表示的YEAR范圍是1901~2155。可以使用'YYYY'或者YYYY表示。案例:創(chuàng)建數(shù)據(jù)表tb_temp3,定義字段類型為YEAR的字段y,插入數(shù)值2017、'2017'、'0'、'00'、'77'、'10'、'78'和'11'。SQL語句如下:
```sql
create table tb_temp3(y YEAR);
insert into tb_temp3 values(2017), ('2017'), ('0'), ('00'), ('77'), ('10'), ('78'), ('11');
```
TIME類型
TIME類型用于表示時(shí)間信息,需要3個(gè)字節(jié)存儲(chǔ)。以'D HH:MM:SS'格式的字符串表示,可以超過24小時(shí)甚至為負(fù)值。案例:創(chuàng)建數(shù)據(jù)表tb_temp4,定義字段類型為TIME的字段t,插入值’10:05:05’、’23:23’、’210:10’、’302’、’10’、’101112’、’0’和’106010’。SQL語句如下:
```sql
create table tb_temp4(t TIME);
insert into tb_temp4 values('10:05:05'), ('23:23'), ('210:10'), ('302'), ('10'), ('101112'), ('0'), and ('106010');
```
DATE類型
DATE類型用于輸入日期,沒有時(shí)間,需要3個(gè)字節(jié)存儲(chǔ)。日期格式為'YYYY-MM-DD'??梢砸圆煌袷奖硎救掌谥?,例如'YYYY-MM-DD'、'YYYYMMDD'、'YY-MM-DD'、'YYMMDD',也可使用current_date或者now()插入當(dāng)前系統(tǒng)日期。案例:創(chuàng)建數(shù)據(jù)表tb_temp5,定義字段類型為DATE的字段d,插入值'2017-12-02'、'20101010'、'99-09-09'、'000101'、'111111'、121212和171203。SQL語句如下:
```sql
create table tb_temp5(d DATE);
insert into tb_temp5 values('2017-12-02'), ('20101010'), ('99-09-09'), ('000101'), ('111111'), (121212), (171203);
```
DATETIME類型
DATETIME用于同時(shí)輸入日期和時(shí)間信息,需要8個(gè)字節(jié)存儲(chǔ)。格式為'YYYY-MM-DD HH:MM:SS',可以使用字符串或數(shù)字類型表示??梢圆迦氘?dāng)前系統(tǒng)日期時(shí)間。案例:創(chuàng)建數(shù)據(jù)表tb_temp6,定義字段類型為DATETIME的字段dt,插入值'2017-12-02 20:33:33'、'20101010101010'、'09-09-09 09:09:09'、'121212121212'和111111111111。SQL語句如下:
```sql
create table tb_temp6(dt DATETIME);
insert into tb_temp6 values('2017-12-02 20:33:33'), ('20101010101010'), ('09-09-09 09:09:09'), ('121212121212'), (111111111111);
```
TIMESTAMP類型
TIMESTAMP的顯示格式同DATETIME,但存儲(chǔ)需要4個(gè)字節(jié)。取值范圍小于DATETIME,為‘1970-01-01 00:00:01’UTC~‘2038-01-19 03:14:07’UTC。插入數(shù)據(jù)需保證在合法取值范圍內(nèi)。案例:創(chuàng)建數(shù)據(jù)表tb_temp7,定義字段類型為TIMESTAMP的字段ts,插入值'20170101010101'、'20050607080910'、'08-08-08 09:09:09'、'@12 @12'、111111111111和now()。SQL語句如下:
```sql
create table tb_temp7(ts TIMESTAMP);
insert into tb_temp7 values('20170101010101'), ('20050607080910'), ('08-08-08 09:09:09'), ('@12 @12'), (111111111111), (now());
```
通過以上內(nèi)容,我們深入探討了MySQL中運(yùn)算符操作的相關(guān)知識(shí),包括不同數(shù)據(jù)類型的存儲(chǔ)方式和使用場景,為數(shù)據(jù)庫管理和操作提供了更多技術(shù)支持。