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)建表時(shí)字符串的默認(rèn)值
使用MySQL創(chuàng)建表時(shí),char或varchar類型的變量可以設(shè)置默認(rèn)值null或Empty String。
操作:
創(chuàng)建如下DDL格式的一張表:
執(zhí)行以下insert語(yǔ)句,觀察char和varchar類型的默認(rèn)值:
insert into t_table(iddddd) values(11);
產(chǎn)生如下表數(shù)據(jù):
結(jié)論:
第一,null和Empty String是兩種不同的數(shù)據(jù),字段id3和id6中存放的是”“空字符串。
第二,如果手動(dòng)在Navicat里面改變了id、id2、id4、id5中的值,那么盡管刪除所做的改變,字段的值不會(huì)恢復(fù)到之前的null,而是變成了Empty String “”。比如先將字段id的值變成aaa,后來又刪除,此時(shí)字段id的值為Empty String “”。
當(dāng)然使用以下update語(yǔ)句可以恢復(fù)到id=null
update t_table set id=null where iddddd=11;
第三,在對(duì)非空進(jìn)行查詢的時(shí)候,最好對(duì)null和Empty String “”都做判斷。例如對(duì)于Hibernate的QBC查詢可以加上兩個(gè)限制條件:
Restrictions.isNotNull("propertyName") // 判斷不為null Restrictions.ne("propertyName") // 判斷不為""
到此這篇關(guān)于MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼的文章就介紹到這了,更多相關(guān)MySQL建表設(shè)置默認(rèn)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql創(chuàng)建表添加字段注釋的實(shí)現(xiàn)方法
- mysql創(chuàng)建表的sql語(yǔ)句詳細(xì)總結(jié)
- django連接mysql數(shù)據(jù)庫(kù)及建表操作實(shí)例詳解
- mysql中TINYINT的取值范圍
- php數(shù)據(jù)入庫(kù)前清理 注意php intval與mysql的int取值范圍不同
- MySQL表字段時(shí)間設(shè)置默認(rèn)值
- 詳解Mysql數(shù)據(jù)庫(kù)date, datetime類型設(shè)置0000-00-00默認(rèn)值(default)報(bào)錯(cuò)問題
- mysql中datetime類型設(shè)置默認(rèn)值方法
- 解析MySQL設(shè)置當(dāng)前時(shí)間為默認(rèn)值的方法
相關(guān)文章
遠(yuǎn)程連接mysql錯(cuò)誤代碼1130的解決方法
這篇文章主要介紹了遠(yuǎn)程連接mysql錯(cuò)誤代碼1130的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12SQL使用ROW_NUMBER() OVER函數(shù)生成序列號(hào)
這篇文章主要介紹了SQL使用ROW_NUMBER() OVER函數(shù)生成序列號(hào),ROW_NUMBER()從1開始,為每一條分組記錄返回一個(gè)數(shù)字,下面文章內(nèi)容具有一定的參考價(jià)值,需要的小伙伴可以參考一下2021-12-12MySQL優(yōu)化之如何寫出高質(zhì)量sql語(yǔ)句
在數(shù)據(jù)庫(kù)日常維護(hù)中,最常做的事情就是SQL語(yǔ)句優(yōu)化,因?yàn)檫@個(gè)才是影響性能的最主要因素。這篇文章主要給大家介紹了關(guān)于MySQL優(yōu)化之如何寫出高質(zhì)量sql語(yǔ)句的相關(guān)資料,需要的朋友可以參考下2021-05-05Unity連接MySQL并讀取表格數(shù)據(jù)的實(shí)現(xiàn)代碼
本文給大家介紹Unity連接MySQL并讀取表格數(shù)據(jù)的實(shí)現(xiàn)代碼,實(shí)例化的同時(shí)調(diào)用MySqlConnection,傳入?yún)?shù),這里的傳入?yún)?shù)個(gè)人認(rèn)為是CMD里面的直接輸入了,string格式直接類似手敲到cmd里面,完整代碼參考下本文2021-06-06MySQL數(shù)據(jù)庫(kù)和Redis緩存一致性的更新策略
本文主要介紹了MySQL數(shù)據(jù)庫(kù)和Redis緩存一致性的更新策略問題,文中有詳細(xì)的代碼示例,有需要的朋友可以參考一下2023-04-04