MySQL之欄位約束與許可權管理

2022-07-25 19:18:12 字數 2396 閱讀 3123

在mysql資料庫中有許多常見的字段約束,所謂的字段約束就是在設定欄位時需要給字段新增一些「枷鎖」。

常見的字段約束有:

int(n)     資料型別及允許資料的個數

not null   非空

default    預設值

primary key  主鍵約束,不能為空,不能重複,

一般情況下一張表中至少要有乙個主鍵

auto_increment   自增,一般配合數值型別的主鍵去使用

unsigned   無符號,正數  

unique   唯一約束,具有唯一性(不能重複) 可以為空

foreign key(當前表的外來鍵字段) references 關聯表名(關聯表字段)    外來鍵約束,在建立關係對映時需要進行設定

若是想修改mysql資料庫的密碼,首先需要進入到mysql資料庫中。

之後,顯示所有的資料庫:

進入mysql資料庫中,檢視該庫中的所有的表:

更新user表中對應使用者的authentication_string欄位的值:

update

user

swt authentication_string=password(你要設定的新密碼) where

user='

需要設定密碼的使用者

'and host=

'使用者所對應的ip位址

';

例:

update 

user

set authentication_string=password(123456) where

user='

root

'and host=

'localhost

';

如果在登入mysql資料庫時忘記了自己以前設定的密碼。應該如何處理呢?

首先修改配置檔案。

在mysql資料庫資料夾中的mysqld檔案下面新增

skip-grant-tables,該命令是用於登入mysql資料庫時跳過許可權認證。

其次重新啟動mysql服務,之後不使用密碼登入root使用者,接下來執行修改密碼的操作,修改密碼完成後退出資料庫並把配置檔案改回來,最後再重啟mysql服務,使用修改後的密碼登入即可。

格式:

create

user

'使用者名稱

'@'ip位址

' identified by'密碼

'

下面是幾個例子:

新增乙個李四的賬戶,只能允許在本地登入

create

user 'lisi'@'localhost' identified by '

123456';

新增乙個wangwu使用者,只允許10.10.91.3ip去登入

create

user 'wangwu'@'10.10.91.3' identified by '123456';

create

user'zl

'@'%

' identified by

'123456

';

一般而言,公司中的資料庫需要給一些使用者進行授權,使其可以進行遠端連線。

語法格式:

grant 許可權 on 庫名.表名 to '使用者名稱'@'位址'

例如:給lisi授權,允許操作(select,insert,update)demo6庫中的user表

grant

select,insert,update

on demo6.userto'

lisi

'@'localhost

';

給zl授權,允許操作(select,insert,update) 所有的庫和所有的表

grant

select,insert,update

on*.*to'

zl'@'

%';

有些使用者可能過段時間就不用了,對於不用的使用者就要進行刪除使用者操作。

語法格式為:

drop

user '使用者名稱'@'ip位址';

例如刪除wangwu使用者

drop

user

'wangwu

'@'10.10.91.3

';

MySQL 字段約束與索引

mysql的字段約束共四種 約束名關鍵字 描述主鍵約束 primary key 字段值唯一,且不能為null 非空約束 not null 字段值不能為null 唯一約束 unique 字段值唯一,但可以為null 外來鍵約束 foreign key 保持關聯資料的邏輯性 關於主鍵約束 create ...

mysql 字段約束

5.6 操作表的約束 80 5.6.1 mysql支援的完整性約束 81 5.6.2 設定非空約束 not null,nk 81 5.6.3 設定欄位的預設值 default 82 5.6.4 設定唯一約束 unique,uk 84 5.6.5 設定主鍵約束 primary key,pk 85 5....

mysql欄位約束

為了確保資料的完整性和唯 性,關係型數 據庫通過約束機制來實現目。一.unique 唯一性約束 值不可重複 二.not null 非空約束 值不可為空 三.default 預設值約束 當增加資料時沒有插 值時,會自動插 預設值 四.check 檢查約束 mysql不支援該約束,但寫入語句不會報錯 五...