亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數(shù)據(jù)庫基本SQL語句教程之高級操作

 更新時間:2022年06月26日 11:07:06   作者:云歸有鶴  
對MySQL數(shù)據(jù)庫的查詢,除了基本的查詢外,有時候需要對查詢的結(jié)果集進行處理,下面這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫基本SQL語句教程之高級操作的相關資料,需要的朋友可以參考下

前言:

了解了一下MySQL數(shù)據(jù)庫的基本語句,這章了解一下它的高級操作,包括用戶增刪除與給予相對應的權限

一.克隆表

1.1克隆方法一(將表與內(nèi)容分開克?。?/h3>
#?create table 新表名 like 復制的表名;  ?
?復制格式,能將復制表的格式到新表,但是里面的內(nèi)容無法復制?
 
?insert into 新表名 select * from 復制的表名; ?
?復制原表內(nèi)容到新表

1.2克隆方法二(將表與內(nèi)容一起復制)

create table 新表名 (select * from 復制的表名)
?數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)能一起復制

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

2.1方法一

delete from naixu1;
#DELETE清空表后,返回的結(jié)果內(nèi)有刪除的記錄條目;
delete
工作時是一行一行的刪除記錄數(shù)據(jù)的;如果表中有自增長字段,使用DELETE FROM
刪除所有記錄后,在此添加的記錄會從原來最大的記錄id后面繼續(xù)自增寫入數(shù)據(jù)

2.2方法二

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

2.3小小結(jié)之drop,truncate,eleted的對比

droptruncatedelete
屬于DDL屬于DDL屬于DML
不可回滾不可回滾可回滾
不可帶where不可帶where可帶where
表內(nèi)容和結(jié)構(gòu)刪除表內(nèi)容刪除表結(jié)構(gòu)在,表內(nèi)容要看where執(zhí)行的情況
刪除速度快刪除速度快刪除速度慢,需要逐行刪除

總結(jié):

不再需要一張表的時候用drop想刪除部分數(shù)據(jù)行的時候用delete,并且?guī)蟱here子句保留表而刪除所有數(shù)據(jù)的時候用truncate刪除速度:drop>truncate> delete安全性 delete 最好

三.創(chuàng)建臨時表

##添加臨時表niaxu3
create temporary table naixu3 (
id int(4) zerofill primary key auto_increment,
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));
 
## 查看當前庫中所有表
show tables; 
##在臨時表中添加數(shù)據(jù)
insert into test03 values(1,'hehe',12345,'看美女'); 
##查看當前表中所有數(shù)據(jù)
select * from naixu3;
##退出數(shù)據(jù)庫
quit      
 
##重新登錄后進行查看  
mysql -u root -p
##查看之前創(chuàng)建的臨時表中所有數(shù)據(jù),發(fā)現(xiàn)已經(jīng)被自動銷毀
select * from naixu3; 

四.用戶管理

4.1新建用戶

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

4.2使用明文密碼創(chuàng)建用戶

create user 'nannan'@'localhost' identified by '123455';

4.3使用密文創(chuàng)建數(shù)據(jù)庫

五.查看用戶信息 

創(chuàng)建后的用戶保存在 mysql 數(shù)據(jù)庫的 user 表里
 
use mysql;   #使用mysql庫 
select User from user;

六.重命名用戶

rename user 'nannan'@'localhost' to 'lnhs'@'localhost';
#將用戶nannan改名為lnhs

 七.刪除用戶

drop user 'chenchen'@'localhost';
#刪除用戶chenchen

 八.密碼管理

8.1修改當前用戶密碼

set password = password('123456');

8.2修改其他用戶的密碼

set password for 'naixu'@'localhost' = password('123456');

8.3忘記root密碼

修改配置文件,添加配置,免密登錄MySQL
vim /etc/my.cnf
skip-grant-tables #添加,使登錄mysql不適用授權表

8.3.1給root設置密碼

update mysql.user set authentication_string = password('123456') where user='root';
flush privileges;  #刷新 
 
登入數(shù)據(jù)庫之后再次修改my.conf配置文件,注釋掉之前添加的配置命令,并再次重啟服務
使用新密碼登錄

九.數(shù)據(jù)庫授權  

9.1關于授權

  GRANT語句:專門用來設置數(shù)據(jù)庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將    會創(chuàng)建新的用戶;當指定的用戶名存在時,GRANT 語句用于修改用戶信息。

9.2授權

GRANT 權限列表 ON 數(shù)據(jù)庫名/表名 TO '用戶名'@'來源地址' [IDENTIFIED BY '密碼'];
權限列表用于列出授權使用的各種數(shù)據(jù)庫操作,以逗號進行分隔,如“select,insert,update”。使用“all”表示所有權限,可授權執(zhí)行任何操作。
數(shù)據(jù)庫名.表名用于指定授權操作的數(shù)據(jù)庫和表的名稱,其中可以使用通配符
用戶名@來源地址用于指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪里連接。來源地址可以是域名、IP地址,還可以使用“%”通配符,表示某個區(qū)域或網(wǎng)段內(nèi)的所有地址,如“%.accp.com”、“192.168.80.%”等。
IDENTIFIED BY用于設置用戶連接數(shù)據(jù)庫時所使用的密碼字符串。在新建用戶時,若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。

9.2.1授權列表

權限功能
select查詢數(shù)據(jù)
insert插入數(shù)據(jù)
update更新數(shù)據(jù)
delete刪除數(shù)據(jù)
create創(chuàng)建庫、表
drop刪除庫、表
index建立索引
alter更改表屬性
event事件
trigger on創(chuàng)建觸發(fā)器

9.3數(shù)據(jù)庫授權

show grants for nannan@localhost;
#查看用戶權限

指定用戶可以查看哪個數(shù)據(jù)庫或表,別的無法訪問

grant select on hehe.* to nannan@localhost;
#用戶nannan只有hehe庫下所有表的查詢權限

切換用戶進行驗證

9.4遠程登陸授權(使用navicat遠程登陸)

grant all on *.* to 'nannan'@'%' identified by '123456';

9.5撤銷權限

revoke select on hehe.* from nannan@localhost;

 再次切換訪問,就已經(jīng)沒有權限了

十.總結(jié)

本章和拐友們講解MySQL的高階語句,包括了如何克隆表,如何進行用戶的增刪改以及用戶的權限設置,總的來說就是只要記住3點增刪改就行

到此這篇關于MySQL數(shù)據(jù)庫基本SQL語句教程之高級操作的文章就介紹到這了,更多相關MySQL SQL語句高級操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論