国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL數(shù)據(jù)庫(kù)用戶管理

這篇具有很好參考價(jià)值的文章主要介紹了MySQL數(shù)據(jù)庫(kù)用戶管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、MySQL常用的6大約束

  • primary key主鍵約束:字段的值不能重復(fù),不能為null,一個(gè)表只能有一個(gè)主鍵
  • unique key唯一性約束:字段的值不能重復(fù),能為null,一個(gè)表可有多個(gè)唯一鍵
  • not null非空約束:字段的值不能為null
  • default默認(rèn)值約束: 字段的值如果沒(méi)有設(shè)置則使用默認(rèn)值自動(dòng)填充
  • auto_increment自增約束:字段的值如果沒(méi)有設(shè)置,默認(rèn)會(huì)從1開(kāi)始遞增1,要求自增字段必須為主鍵字段
  • foreign key外鍵約束:保證相關(guān)聯(lián)表數(shù)據(jù)的完整性和一致性

二、數(shù)據(jù)表的高級(jí)操作

1.克隆表

方法一:
create table test01 like jj;				#通過(guò) LIKE 方法,復(fù)制 jj 表結(jié)構(gòu)生成 test01 表
insert into test01 select * from jj;
#此方法能保證 新表的表結(jié)構(gòu)、表數(shù)據(jù) 跟舊表都是一致的

MySQL數(shù)據(jù)庫(kù)用戶管理

方法二:
CREATE TABLE test02 (SELECT * from KY08);

#此方法創(chuàng)建的新表的表數(shù)據(jù)和舊表是一樣的,但可能會(huì)出現(xiàn)新表的表結(jié)構(gòu)和舊表的不一致
show create table test02\G					#獲取數(shù)據(jù)表的表結(jié)構(gòu)、索引等信息
SELECT * from test02;

MySQL數(shù)據(jù)庫(kù)用戶管理

MySQL數(shù)據(jù)庫(kù)用戶管理

2.清空表,刪除表內(nèi)的所有數(shù)據(jù)

方法一:
delete from test01;
#DELETE清空表后,返回的結(jié)果內(nèi)有刪除的記錄條目;DELETE工作時(shí)是一行一行的刪除記錄數(shù)據(jù)的;如果表中有自增長(zhǎng)字段,使用DELETE FROM 刪除所有記錄后,再次新添加的記錄會(huì)從原來(lái)最大的記錄 ID 后面繼續(xù)自增寫(xiě)入記錄。

MySQL數(shù)據(jù)庫(kù)用戶管理

方法二:
truncate table test01;
#TRUNCATE 清空表后,沒(méi)有返回被刪除的條目;TRUNCATE 工作時(shí)是將表結(jié)構(gòu)按原樣重新建立,因此在速度上 TRUNCATE 會(huì)比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表內(nèi)數(shù)據(jù)后,ID 會(huì)從 1 開(kāi)始重新記錄。

MySQL數(shù)據(jù)庫(kù)用戶管理

3.創(chuàng)建臨時(shí)表

臨時(shí)表創(chuàng)建成功之后,使用SHOW TABLES命令是看不到創(chuàng)建的臨時(shí)表的,臨時(shí)表會(huì)在連接退出后被銷毀。 如果在退出連接之前,也可以可執(zhí)行增刪改查等操作,比如使用 DROP TABLE 語(yǔ)句手動(dòng)直接刪除臨時(shí)表。

CREATE TEMPORARY TABLE 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型[,...][,PRIMARY KEY (主鍵名)]);

MySQL數(shù)據(jù)庫(kù)用戶管理

4.創(chuàng)建外鍵約束,保證數(shù)據(jù)的完整性和一致性

外鍵的定義:如果同一個(gè)屬性字段X在表一中是主鍵,而在表二中不是主鍵,則字段X稱為表二的外鍵

主鍵表和外鍵表的理解:

(1)以公共關(guān)鍵字作主鍵的表為主鍵表(父表、主表)
(2)以公共關(guān)鍵字作外鍵的表為外鍵表(從表、外表)

注意:與外鍵關(guān)聯(lián)的主表的字段必須設(shè)置為主鍵。要求從表不能是臨時(shí)表,主從表的字段具備相同的數(shù)據(jù)類型、字符長(zhǎng)度和約束。

#創(chuàng)建主表 profession
create table profession (pid int(4),proname varchar(50));

#創(chuàng)建從表 student
create table student (id int(4) primary key auto_increment,name varchar(10),age int(3),proid int(4));

#為主表 profession 添加一個(gè)主鍵約束。主鍵名建議以“PK_”開(kāi)頭。
alter table profession add constraint PK_pid primary key (pid);

#為從表 student 表添加外鍵,并將 student 表的 proid 字段和 profession 表的 pid 字段建立外鍵關(guān)聯(lián)。外鍵名建議以“FK_”開(kāi)頭。
alter table student add constraint FK_pro foreign key (proid) references profession (pid);

desc student;

#插入新的數(shù)據(jù)記錄時(shí),要先主表再?gòu)谋?insert into profession values(1,'云計(jì)算');
insert into profession values(2,'大數(shù)據(jù)');
insert into student values(1,'zhangsan',18,1);
insert into student values(2,'lisi',19,1);
insert into student values(3,'wangwu',20,2);

#刪數(shù)數(shù)據(jù)記錄時(shí),要先從表再主表,也就是說(shuō)刪除主鍵表的記錄時(shí)必須先刪除其他與之關(guān)聯(lián)的表中的記錄。
delete from student where proid=1;
delete from profession where pid=1;

#查看和刪除外鍵約束
show create table student;
desc student;
alter table student drop foreign key FK_pro;
alter table student drop key FK_pro;

三、數(shù)據(jù)用戶管理

1.新建用戶

CREATE USER '用戶名'@'來(lái)源地址' [IDENTIFIED BY [PASSWORD] '密碼'];
----------------------------------------------------------------------------------------------------------
'用戶名':指定將創(chuàng)建的用戶名
'來(lái)源地址':指定新創(chuàng)建的用戶可在哪些主機(jī)上登錄,可使用IP地址、網(wǎng)段、主機(jī)名的形式,本地用戶可用localhost,允許任意主機(jī)登錄可用通配符%
'密碼':若使用明文密碼,直接輸入'密碼',插入到數(shù)據(jù)庫(kù)時(shí)由Mysql自動(dòng)加密;
        若使用加密密碼,需要先使用SELECT PASSWORD('密碼'); 獲取密文,再在語(yǔ)句中添加 PASSWORD '密文';
        若省略“IDENTIFIED BY”部分,則用戶的密碼將為空(不建議使用)
----------------------------------------------------------------------------------------------------------

CREATE USER 'user1'@'localhost' IDENTIFIED BY '123456';

SELECT PASSWORD('abc123');
CREATE USER 'user2'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';

MySQL數(shù)據(jù)庫(kù)用戶管理

2.查看用戶信息

#創(chuàng)建后的用戶保存在 mysql 數(shù)據(jù)庫(kù)的 user 表里
USE mysql;
SELECT User,authentication_string,Host from user;

#查看當(dāng)前登錄用戶
select user();

MySQL數(shù)據(jù)庫(kù)用戶管理

3.重命名用戶

RENAME USER 'zhangsan'@'localhost' TO 'lisi'@'localhost';

MySQL數(shù)據(jù)庫(kù)用戶管理

4.刪除用戶

DROP USER 'lisi'@'localhost';

MySQL數(shù)據(jù)庫(kù)用戶管理

5.修改當(dāng)前登錄用戶密碼

SET PASSWORD = PASSWORD('abc123');

6.修改其他用戶密碼

SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('abc123');

MySQL數(shù)據(jù)庫(kù)用戶管理

7.忘記 root 密碼的解決辦法

(1)修改 /etc/my.cnf 配置文件,不使用密碼直接登錄到 mysql
vim /etc/my.cnf
[mysqld]
skip-grant-tables					#添加,使登錄mysql不使用授權(quán)表

systemctl restart mysqld

mysql								#直接登錄

(2)使用 update 修改 root 密碼,刷新數(shù)據(jù)庫(kù)
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('abc123') where user='root';

FLUSH PRIVILEGES;
quit

mysql -u root -pabc123

注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 刪除,并重啟 mysql 服務(wù)。

四、數(shù)據(jù)庫(kù)用戶授權(quán)

1.授予權(quán)限

GRANT語(yǔ)句:專門(mén)用來(lái)設(shè)置數(shù)據(jù)庫(kù)用戶的訪問(wèn)權(quán)限。當(dāng)指定的用戶名不存在時(shí),GRANT語(yǔ)句將會(huì)創(chuàng)建新的用戶;當(dāng)指定的用戶名存在時(shí), GRANT 語(yǔ)句用于修改用戶信息。

GRANT 權(quán)限列表 ON 數(shù)據(jù)庫(kù)名.表名 TO '用戶名'@'來(lái)源地址' [IDENTIFIED BY '密碼'];
----------------------------------------------------------------------------------------------------------
#權(quán)限列表:用于列出授權(quán)使用的各種數(shù)據(jù)庫(kù)操作,以逗號(hào)進(jìn)行分隔,如“select,insert,update”。使用“all”表示所有權(quán)限,可授權(quán)執(zhí)行任何操作。
#數(shù)據(jù)庫(kù)名.表名:用于指定授權(quán)操作的數(shù)據(jù)庫(kù)和表的名稱,其中可以使用通配符“*”。例如,使用“kgc.*”表示授權(quán)操作的對(duì)象為 kgc數(shù)據(jù)庫(kù)中的所有表。
#'用戶名@來(lái)源地址':用于指定用戶名稱和允許訪問(wèn)的客戶機(jī)地址,即誰(shuí)能連接、能從哪里連接。來(lái)源地址可以是域名、IP地址,還可以使用“%”通配符,表示某個(gè)區(qū)域或網(wǎng)段內(nèi)的所有地址,如“%.kgc.com”、“192.168.80.%”等。
#IDENTIFIED BY:用于設(shè)置用戶連接數(shù)據(jù)庫(kù)時(shí)所使用的密碼字符串。在新建用戶時(shí),若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。
----------------------------------------------------------------------------------------------------------
#允許用戶 zhangsan 在本地查詢 kgc 數(shù)據(jù)庫(kù)中 所有表的數(shù)據(jù)記錄,但禁止查詢其他數(shù)據(jù)庫(kù)中的表的記錄。
GRANT select ON kgc.* TO 'zhangsan'@'localhost' IDENTIFIED BY '123456';

#允許用戶 lisi 在所有終端遠(yuǎn)程連接 mysql ,并擁有所有權(quán)限。
GRANT ALL [PRIVILEGES] ON *.* TO 'lisi'@'%' IDENTIFIED BY '123456';

flush privileges;
quit

mysql -u zhangsan -p123456
use kgc;
show tables;
select * from KY08;

2.查看權(quán)限

SHOW GRANTS FOR 用戶名@來(lái)源地址;

MySQL數(shù)據(jù)庫(kù)用戶管理文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482998.html

3.撤銷權(quán)限

REVOKE 權(quán)限列表 ON 數(shù)據(jù)庫(kù)名.表名 FROM 用戶名@來(lái)源地址;

例:
REVOKE ALL ON *.* FROM 'lisi'@'%';

SHOW GRANTS FOR 'lisi'@'%';
#USAGE權(quán)限只能用于數(shù)據(jù)庫(kù)登陸,不能執(zhí)行任何操作;USAGE權(quán)限不能被回收,即 REVOKE 不能刪除用戶。

flush privileges;

到了這里,關(guān)于MySQL數(shù)據(jù)庫(kù)用戶管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL:事務(wù)、索引、用戶管理、備份、數(shù)據(jù)庫(kù)設(shè)計(jì)(三大范式)

    MySQL:事務(wù)、索引、用戶管理、備份、數(shù)據(jù)庫(kù)設(shè)計(jì)(三大范式)

    事務(wù) (transaction):要么都成功,要么都失敗。 核心 :將一組 SQL 放在一個(gè)批次中去執(zhí)行。 原則 ACID :原子性(atomicity)、一致性(consistency)、隔離性(isolation)、持久性(durability)。 原子性 :一個(gè)事務(wù)中的所有步驟 要么都 成功, 要么都 失敗,不能只成功一個(gè)步驟。 一致性 :包括

    2023年04月26日
    瀏覽(21)
  • MySQL數(shù)據(jù)庫(kù)——SQL(4)-DCL(管理用戶、權(quán)限控制)

    MySQL數(shù)據(jù)庫(kù)——SQL(4)-DCL(管理用戶、權(quán)限控制)

    目錄 管理用戶 1.查詢用戶 2.創(chuàng)建用戶 3.修改用戶密碼 4.刪除用戶 示例 權(quán)限控制 1.查詢權(quán)限 2.授予權(quán)限 3.撤銷權(quán)限 示例 DCL總結(jié) DCL DCL英文全稱是Data Control Language(數(shù)據(jù)控制語(yǔ)言),用來(lái)管理數(shù)據(jù)庫(kù)用戶、控制數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限。 注意: 主機(jī)名可以使用通配符‘%’。 這類S

    2024年02月12日
    瀏覽(48)
  • 【Mysql數(shù)據(jù)庫(kù)從0到1】-入門(mén)基礎(chǔ)篇--用戶與權(quán)限管理

    【Mysql數(shù)據(jù)庫(kù)從0到1】-入門(mén)基礎(chǔ)篇--用戶與權(quán)限管理

    Mysql 用戶分為root用戶和普通用戶,其中root用戶是數(shù)據(jù)庫(kù)超級(jí)管理員,擁有所有權(quán)限(創(chuàng)建、刪除、修改密碼、授權(quán)等管理權(quán)限),普通用戶只擁有被授予的權(quán)限。 Mysql數(shù)據(jù)庫(kù)的安全性通過(guò)賬戶管理來(lái)保障。 1.1 ?? Mysql服務(wù)器登錄 ?? 簡(jiǎn)單使用 ?? 復(fù)雜使用 1.2 ?? 用戶創(chuàng)建

    2024年02月07日
    瀏覽(27)
  • MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)的約束

    MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)的約束

    目錄 1.數(shù)據(jù)的約束 1.1約束的類型 1.2NULL約束 1.3UNIQUE約束 1.4DEFAULT約束 1.5PRIMARY KEY約束 1.6FOREIGN KEY約束 首先,創(chuàng)建一個(gè)名為test的數(shù)據(jù)庫(kù): 下方的所有測(cè)試表,都是在這個(gè)test數(shù)據(jù)庫(kù)中進(jìn)行創(chuàng)建的。 NOT NULL - 指定某列不得為NULL(空) UNIQUE - 唯一值,每一列的值都是不同的 DEFAULT -

    2023年04月20日
    瀏覽(42)
  • 「MySQL」數(shù)據(jù)庫(kù)約束

    「MySQL」數(shù)據(jù)庫(kù)約束

    ?? 個(gè)人主頁(yè) :Ice_Sugar_7 ?? 所屬專欄 :數(shù)據(jù)庫(kù) ?? 歡迎點(diǎn)贊收藏加關(guān)注哦! 所謂約束,就是在創(chuàng)建表時(shí)給這個(gè)表 指定一些規(guī)則 ,后續(xù)插入、修改、刪除操作都要遵循這些規(guī)則 引入規(guī)則是為了進(jìn)行更強(qiáng)的數(shù)據(jù)校驗(yàn) NOT NULL - 指示某列不能存儲(chǔ) NULL 值 UNIQUE - 保證某列的每行必

    2024年03月27日
    瀏覽(60)
  • MySQL 數(shù)據(jù)庫(kù)約束

    MySQL 數(shù)據(jù)庫(kù)約束

    目錄 一、數(shù)據(jù)庫(kù)約束? 1、約束類型 二、NULL 約束 三、unique 約束 四、default 約束 五、primary key 約束 自增主鍵 六、foreign key 外鍵約束 七、check 約束 我們使用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),一般是希望這里存儲(chǔ)的數(shù)據(jù)是靠譜的,那么如何來(lái)保證數(shù)據(jù)是否靠譜呢? 那么MySQL就提供了一些機(jī)

    2024年02月15日
    瀏覽(22)
  • MySQL數(shù)據(jù)庫(kù)——約束

    MySQL數(shù)據(jù)庫(kù)——約束

    MySQL約束是用于在關(guān)系型數(shù)據(jù)庫(kù)中定義和實(shí)施數(shù)據(jù)完整性規(guī)則的規(guī)范。它們定義了數(shù)據(jù)庫(kù)表中數(shù)據(jù)的限制條件,確保數(shù)據(jù)的一致性和有效性。 今天我將為大家分享以下約束: 主鍵約束(primary key) 自增長(zhǎng)約束(auto_incremnet) 非空約束(not null) 唯一性約束(unique) 默認(rèn)約束

    2024年02月14日
    瀏覽(24)
  • MySQL數(shù)據(jù)庫(kù) 12:約束

    MySQL數(shù)據(jù)庫(kù) 12:約束

    在MySQL中, 約束是一種限制數(shù)據(jù)表中列值的規(guī)定 。保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)正確,有效性和完整性。MySQL中的約束有以下幾種: 1. 主鍵約束(Primary Key Constraint) :主鍵是用于唯一標(biāo)識(shí)表中每行記錄的列。主鍵約束要求 每個(gè)主鍵列的值都是唯一的,且不能為NULL 。一個(gè)表只能有一

    2024年02月08日
    瀏覽(23)
  • 【MySQL】數(shù)據(jù)庫(kù)的約束

    【MySQL】數(shù)據(jù)庫(kù)的約束

    哈嘍,大家好!我是保護(hù)小周?,本期為大家?guī)?lái)的是 MySQL 數(shù)據(jù)庫(kù)中對(duì)表的約束, 主要有null (空約束),unique(唯一約束),primary key(主鍵約束),default(默認(rèn)值約束), forelgn key(外鍵約束),check(檢查約束),超多實(shí)例講解,通俗易懂。 更多相關(guān)知識(shí)敬請(qǐng)期待:保護(hù)小周? *★,°*:

    2023年04月09日
    瀏覽(22)
  • MySQL:數(shù)據(jù)庫(kù)的約束

    MySQL:數(shù)據(jù)庫(kù)的約束

    目錄 1.數(shù)據(jù)庫(kù)約束 1.1 非空:not null 1.2 唯一:unique ????????????????1.3 默認(rèn)值:default 1.4 列描述:comment 1.5?主鍵約束:primary key 1.6?外鍵約束 1.7 綜合案例 2.插入查詢結(jié)果 3.聚合函數(shù) 4.group by(分組查詢) 關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)重要功能,就是需要保證數(shù)據(jù)的完整性

    2024年02月05日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包