mysql的資料型別和約束條件

2022-06-13 20:00:14 字數 1930 閱讀 6389

1.設定資料庫的嚴格模式:

#

# 5、設定嚴格模式

```mysql

#檢視資料庫配置中變數名包含mode的配置引數:

show variables like "

%mode%";

#修改安全模式:

set session; #

區域性有效,只在你當前操作的視窗有效

set global session; #

全域性有效,永久有效

#修改完之後退出當前客戶端重新登入即可

set global sql_mode = '

strict_trans_tables

';

2.資料型別

-整型:

- int: 預設範圍是(-2147483648, 2147483647)

-tinyint: 預設範圍 -128, 12

--bigint

-浮點型:

- float create table t8(x float(255, 30));

- double create table t9(x double(255, 30));

- decimal create table t10(x decimal(65, 30));

-字元型別

- char(16): 定長字元 訪問速度快 浪費空間。

varchar(16): 不定長字元 存幾個字元,就是幾個字元的大小 節省空間

-日期型別

- date: 2019-12-11

- datetime: 2019-12-11 11:11:11

- time: 11:11:11

- year: 2019

-timestamp: 時間戳

-列舉與集合

-enum: 可以 多選一 gender enum('

male

', '

female

', '

others')

- set: 可 多選一 或 多選多 hobbies set('

read

', '

sing

', '

生蠔', '

hsnm

')

2.約束條件

- not null +unique:  非空唯一

-unique 將某個字段設定為唯一的值

- primary key + auto_increment: 主鍵+自增

-auto_increment:

- unsigned :無符號 id int unsigned

聯合約束

#

聯合唯一

create table user6(

id int,

name varchar(16),

unique(id, name)

);insert into user6 values(1, '

tank');

insert into user6 values(2, '

tank');

insert into user6 values(2, '

jason');

#若id與name聯合存在則報錯

insert into user6 values(1, '

tank

');

聯合主鍵

#

聯合主鍵: 多個字段聯合起來作為乙個主鍵,本質上還是乙個主鍵

create table user9(

id int,

name varchar(16),

primary key(id, name)

);desc user9;

MySQL資料型別和約束

常用資料型別如下 資料型別說明 資料型別附錄表 整數型別 型別位元組大小 有符號範圍 signed 無符號範圍 unsigned tinyint 128 127 0 255 smallint 32768 32767 0 65535 mediumint 8388608 8388607 0 167772...

MySQL 資料型別和約束

資料庫中的資料儲存在資料表中,在表中為了更加準確的儲存資料,保證資料的正確有效,可以在建立表的時候,為表新增一些強制性的驗證,比如 資料型別和約束。資料型別是指在建立表的時候為表中字段指定資料型別,只有資料符合型別要求才能儲存起來,使用資料型別的原則是 夠用就行,盡量使用取值範圍小的,而不用大的,這...

建立表和約束條件

oracle中建立表主要關注表字段的型別和對應的約束條件。1 建立表語句 create table tname fied1 型別1,fied1 型別2,create table tname as 子查詢 複製現成表 2 字段型別 varchar n 建立可以存放n個字元的字段,資料長度可以自動變長,...