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個字元的字段,資料長度可以自動變長,...