国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySql 備忘錄

2020-01-19 00:01:14
字體:
供稿:網(wǎng)友
一、關(guān)于空值
提示:

在MySQL中如果不為NOT NULL字段賦值(等同于賦NULL值)

例如:
為一個NOT NULL的整型賦NULL值,結(jié)果是0,它并不會出錯,
為一個NOT NULL的CHAR型賦NULL值,結(jié)果是''(空字符串)
DATATIME
-> '0000-00-00 00:00:00 '
MySQL會自動將NULL值轉(zhuǎn)化為該字段的默認值, 那怕是你在表定義時沒有明確地為該字段設(shè)置默認值.

也就是說,MySQL中NOT NULL并不是一個約束條件了.

如果字段設(shè)置為可空,則插入記錄時如果沒有給該字段賦值,那么MySQL自動用Default的值,如果沒有設(shè)置Default,則無論是該字段是什么類型該字段值為NULL.
字段是否可空,雖然不是一個約束條件,卻會改變系統(tǒng)賦默認值的方式。
疑問:以上規(guī)則是否僅限于MyIsam表,InnoDB呢??也是這樣處理的嗎??

連接字符集和校對
character_set_server和collation_server 服務(wù)器字符集和校對規(guī)則
character_set_database和collation_database 默認的數(shù)據(jù)庫字符集和校對規(guī)則

#當查詢離開客戶端后,在查詢中使用哪種字符集?
服務(wù)器使用character_set_client變量作為客戶端發(fā)送的查詢中使用的字符集。
#服務(wù)器接收到查詢后應(yīng)該轉(zhuǎn)換為哪種字符集?
服務(wù)器將客戶端發(fā)送的查詢從character_set_client轉(zhuǎn)換到character_set_connection
#服務(wù)器發(fā)送結(jié)果集或返回錯誤信息到客戶端之前應(yīng)該轉(zhuǎn)換為哪種字符集?
character_set_results變量指示服務(wù)器返回查詢結(jié)果到客戶端使用的字符集。
包括結(jié)果數(shù)據(jù)(列值)和結(jié)果元數(shù)據(jù)(列名)。
有兩個語句影響連接字符集:

SET NAMES 'charset_name'
SET CHARACTER SET charset_name
SET NAMES 'x'語句與這三個語句等價:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;
SET CHARACTER SET x語句與這三個語句等價:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET collation_connection = @@collation_database; (設(shè)置為默認的數(shù)據(jù)庫連接字符集和校對規(guī)則)

深入Mysql字符集設(shè)置 //m.survivalescaperooms.com/article/29960.htm

用于元數(shù)據(jù)的UTF8
元數(shù)據(jù)是“關(guān)于數(shù)據(jù)的數(shù)據(jù)”。描述數(shù)據(jù)庫的任何數(shù)據(jù)―作為數(shù)據(jù)庫內(nèi)容的對立面―是元數(shù)據(jù)。因此,列名、數(shù)據(jù)庫名、用戶名、版本名以及從SHOW語句得到的結(jié)果中的大部分字符串是元數(shù)據(jù)。還包括INFORMATION_SCHEMA數(shù)據(jù)庫中的表中的內(nèi)容,因為定義的那些表存儲關(guān)于數(shù)據(jù)庫對象的信息。

元數(shù)據(jù)表述必須滿足這些需求:

? 全部元數(shù)據(jù)必須在同一字符集內(nèi)。否則,對INFORM一個TION_SCHEMA數(shù)據(jù)庫中的表執(zhí)行的SHOW命令和SELECT查詢不能正常工作,因為這些運算結(jié)果中的同一列的不同行將會使用不同的字符集。

? 元數(shù)據(jù)必須包括所有語言的所有字符。否則,用戶將不能夠使用它們自己的語言來命名列和表。

為了滿足這兩個需求,MySQL使用Unicode字符集存儲元數(shù)據(jù),即UTF8。

服務(wù)器將character_set_system系統(tǒng)變量設(shè)置為元數(shù)據(jù)字符集的名:

mysql> SHOW VARIABLES LIKE 'character_set_system';

mysql> SHOW VARIABLES LIKE 'character%';查看當前數(shù)據(jù)庫的字符集設(shè)置情況
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 马龙县| 衡南县| 富顺县| 乐至县| 临海市| 大宁县| 诸城市| 娄烦县| 绥德县| 循化| 饶河县| 马关县| 洪湖市| 涿鹿县| 镇雄县| 房产| 苏州市| 湘潭县| 大关县| 南部县| 马尔康县| 沙雅县| 鲜城| 琼结县| 湄潭县| 垣曲县| 临夏县| 博白县| 颍上县| 敦煌市| 南漳县| 固安县| 华容县| 台南县| 垣曲县| 察哈| 拉孜县| 铜梁县| 新昌县| 蒙阴县| 双鸭山市|