MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼
MySQL建表設(shè)置默認(rèn)值/取值范圍
一、設(shè)置默認(rèn)值
設(shè)置默認(rèn)值采用default,如代碼所示:
二、設(shè)置取值范圍
設(shè)置取值范圍采用check,如代碼所示:
create table student(
id int not null primary key auto_increment,
name varchar(32) not null,
sex varchar(8) default('男'), #設(shè)置默認(rèn)值
age int not null check (age between 10 and 50), #設(shè)置取值范圍
class_id int not null references class(id),
stu_num varchar(32),
constraint stu_u unique(stu_num)
);MySQL創(chuàng)建表時字符串的默認(rèn)值
使用MySQL創(chuàng)建表時,char或varchar類型的變量可以設(shè)置默認(rèn)值null或Empty String。

操作:
創(chuàng)建如下DDL格式的一張表:

執(zhí)行以下insert語句,觀察char和varchar類型的默認(rèn)值:
insert into t_table(iddddd) values(11);
產(chǎn)生如下表數(shù)據(jù):

結(jié)論:
第一,null和Empty String是兩種不同的數(shù)據(jù),字段id3和id6中存放的是”“空字符串。
第二,如果手動在Navicat里面改變了id、id2、id4、id5中的值,那么盡管刪除所做的改變,字段的值不會恢復(fù)到之前的null,而是變成了Empty String “”。比如先將字段id的值變成aaa,后來又刪除,此時字段id的值為Empty String “”。

當(dāng)然使用以下update語句可以恢復(fù)到id=null
update t_table set id=null where iddddd=11;

第三,在對非空進(jìn)行查詢的時候,最好對null和Empty String “”都做判斷。例如對于Hibernate的QBC查詢可以加上兩個限制條件:
Restrictions.isNotNull("propertyName") // 判斷不為null
Restrictions.ne("propertyName") // 判斷不為""到此這篇關(guān)于MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼的文章就介紹到這了,更多相關(guān)MySQL建表設(shè)置默認(rèn)值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql創(chuàng)建表添加字段注釋的實現(xiàn)方法
- mysql創(chuàng)建表的sql語句詳細(xì)總結(jié)
- django連接mysql數(shù)據(jù)庫及建表操作實例詳解
- mysql中TINYINT的取值范圍
- php數(shù)據(jù)入庫前清理 注意php intval與mysql的int取值范圍不同
- MySQL表字段時間設(shè)置默認(rèn)值
- 詳解Mysql數(shù)據(jù)庫date, datetime類型設(shè)置0000-00-00默認(rèn)值(default)報錯問題
- mysql中datetime類型設(shè)置默認(rèn)值方法
- 解析MySQL設(shè)置當(dāng)前時間為默認(rèn)值的方法
相關(guān)文章
MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法淺析
刪除現(xiàn)有MySQL表非常容易,但是刪除任何現(xiàn)有的表時要非常小心,因為刪除表后丟失的數(shù)據(jù)將無法恢復(fù),下面這篇文章主要給大家介紹了關(guān)于MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法的相關(guān)資料,需要的朋友可以參考下2022-08-08
MySQL?datetime類型與時間、日期格式字符串大小比較的方法
這篇文章主要介紹了MySQL?datetime類型與時間、日期格式字符串大小比較,本文使用的是mysql8.0.27版本,其他版本自測一下,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-11-11
MySQL字符串索引更合理的創(chuàng)建規(guī)則討論
這篇文章主要給大家介紹了關(guān)于MySQL字符串索引更合理的創(chuàng)建規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

