mysql資料庫 查詢模型 mysql之SQL模型

2021-10-17 22:26:48 字數 1545 閱讀 8571

sql模型(sql mode):

通過定義某些規定,限制使用者行為,並定義對應的處理機制。

常見的模型:

ansi

寬鬆模式,對插入資料進行校驗,如果不符合定義型別或長度,對資料型別調整或截斷儲存,報warning警告。

traditional

嚴格模式,當向mysql資料庫插入資料時,進行資料的嚴格校驗,保證錯誤資料不能插入,報error錯誤。用於事物時,會進行事物的回滾。

strict_trans_tables

嚴格模式,進行資料的嚴格校驗,不允許向乙個支援事物的表中插入非法資料,報error錯誤。

strict_all_tables

未設定的情況下,所有的非法數值都允許,返回警告資訊。設定以後只要違反資料規則,都不允許填入,並返回錯誤。

ansi quotes

雙引號和反引號作用相同,只能用來引用欄位名稱/表名等,單引號只能引用在字串。mysql中預設3者可以隨意引用。

ignore_space

在內建函式中忽略多餘空格

檢視預設的模型:

mysql>show global variables like 'sql_mode';

修改模型:

mysql>set session sql_mode=mode1,...; 修改當前會話級別

或者#vim /etc/my.cnf 配置檔案中修改全域性級別

sql_mode=mode1,...

例項:1.檢視全域性和會話的sql_mode的值

mysql>show global variables like 'sql_mode';

mysql>show variables like 'sql_mode';

或mysql>select @@global.sql_mode;

mysql>select @@session.sql_mode;

2.修改sql_mode的值為strict_all_tables,並驗證動態調整生效情況。

mysql>set global sql_mode='strict_all_tables';

mysql>select @@session.sql_mode;

mysql>select @@global.sql_mode;

strict_all_tables

mysql>quit;

#mysql -uroot -p

mysql>select @@session.sql_mode;

strict_all_tables

mysql>set session sql_mode='strict_trans_tables';

mysql>select @@session.sql_mode;

strict_trans_tables

mysql>select@@global.sql_moed;

strict_all_tables

mysql>quit;

#mysql -uroot -p

mysql>select @@session.sql_mode;

strict_all_tables

資料庫mysql軟體安裝 資料庫軟體mysql安裝

2.解壓至欲安裝的目錄下 3.開啟cmd,進入軟體目錄下d qmdownload mysql 5.7.24 winx64 bin,執行mysqld 4.初始化使用者 cmd d qmdownload mysql 5.7.24 winx64 bin,執行mysqld initialize insecu...

mysql資料庫之python鏈結mysql

使用之前請在命令列pip install pymysql import pymysql 1.建立鏈結 conn pymysql.connect host 127.0.0.1 ip位址 port 3306,埠號 database database name 資料庫名稱 user mysql usern...

mysql資料庫查詢作業 mysql資料庫查詢練習

建立四張資料表 學生表student 學號,姓名,性別,出生年月日,所在班級 課程表course 課程號,課程名,教師編號 成績表score 學號,課程號,成績 教師表teacher 教師編號,教師名,教師性別,出生年月日,職稱,所在部門 新增資訊 學生表 insert into student v...