MySQL 三 主鍵和編碼問題

2021-10-01 02:39:09 字數 1323 閱讀 3564

show tables from test; #表示檢視其他表又不想跳轉

五種約束

主鍵約束 primary key

每張資料表只能存在乙個主鍵

主鍵保證記錄的唯一性

主鍵自動為not null,也就是說必須要為主鍵賦值。但如果主鍵選擇了auto_increment,那麼不需要手動賦值。

auto_increment必須和主鍵primary key一起使用,但是主鍵primary key不一定要和auto_increment一塊使用

唯一約束 unique

預設值約束 default ***

檢查約束 mysql預設沒有,不支援 eg:*** varchar(5) check(gender=「男」 or

gender=「女」)

外來鍵約束(下一節)

mysql的編碼問題:

預設使用的是ladin1,這種編碼只支援ascii符號,推薦使用utf8。utf8mb4才是真正意義上的utf-8。cmd插入中文,中文無法插入,或者已經插入的中文會變成亂碼。 這個錯誤不是我們寫錯了,而是系統一般預設安裝簡體中文,所以預設是gbk編碼。

解決方案:1、修改cmd編碼:chcp 65001 #將cmd修改utf-8編碼

chcp 936 #將cmd修改gbk編碼

2、臨時將資料庫的編碼修改

set names gbk; #臨時修改所在資料庫的編碼

show variables; #顯示當前資料庫系統中的所有變數

show variables like " "; #模糊查詢

drop table t_user if exists; #如果存在先刪除

create table t_user if not exists ();;#如果不存在先建立

如果建表前忘記新增主鍵可以?

alter table user add primary key

(id)

;

刪除主鍵

alter table user drop primary key;
修改欄位的方式新增主鍵

mysql新增主鍵 MySQL新增主鍵的三種方法

完整性約束 約束條件 說明完整性型別 primary key 主鍵,一行資料的唯一標識,非空 實體 行 完整性 foreign key 外來鍵,關聯另外一張表的主鍵 引用完整性 not null 非空約束,欄位不允許為空 域完整性 unique 唯一約束,設定欄位的值是唯一的允許為空,但只能有乙個空...

mysql 主鍵問題處理

mysql的主鍵問題 mysql的兩種主鍵。primary key 和not null auto incriment 在建立mysql表時,給乙個字段新增了主鍵primary key 在insert資料時可以不用insert主鍵,mysql會自動新增0,但是在第二次insert時沒有填寫值mysql...

mysql中的編碼問題 mysql編碼問題總結

網上查了一些mysql編碼相關的資料,在這裡整理下,不對的地方歡迎各位批評指正。character set server 預設的內部操作字符集 character set connection 連線層字符集 character set results 查詢結果字符集 character set da...