最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言:

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

一.克隆表

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

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

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

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

2.1方法一

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

2.2方法二

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

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

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

總結(jié):

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

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

##添加臨時(shí)表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));
 
## 查看當(dāng)前庫(kù)中所有表
show tables; 
##在臨時(shí)表中添加數(shù)據(jù)
insert into test03 values(1,'hehe',12345,'看美女'); 
##查看當(dāng)前表中所有數(shù)據(jù)
select * from naixu3;
##退出數(shù)據(jù)庫(kù)
quit      
 
##重新登錄后進(jìn)行查看  
mysql -u root -p
##查看之前創(chuàng)建的臨時(shí)表中所有數(shù)據(jù),發(fā)現(xiàn)已經(jīng)被自動(dòng)銷毀
select * from naixu3; 

四.用戶管理

4.1新建用戶

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

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

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

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

五.查看用戶信息 

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

六.重命名用戶

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

 七.刪除用戶

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

 八.密碼管理

8.1修改當(dāng)前用戶密碼

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不適用授權(quán)表

8.3.1給root設(shè)置密碼

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

九.數(shù)據(jù)庫(kù)授權(quán)  

9.1關(guān)于授權(quán)

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

9.2授權(quán)

GRANT 權(quán)限列表 ON 數(shù)據(jù)庫(kù)名/表名 TO '用戶名'@'來源地址' [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ù)和表的名稱,其中可以使用通配符
用戶名@來源地址用于指定用戶名稱和允許訪問的客戶機(jī)地址,即誰能連接、能從哪里連接。來源地址可以是域名、IP地址,還可以使用“%”通配符,表示某個(gè)區(qū)域或網(wǎng)段內(nèi)的所有地址,如“%.accp.com”、“192.168.80.%”等。
IDENTIFIED BY用于設(shè)置用戶連接數(shù)據(jù)庫(kù)時(shí)所使用的密碼字符串。在新建用戶時(shí),若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。

9.2.1授權(quán)列表

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

9.3數(shù)據(jù)庫(kù)授權(quán)

show grants for nannan@localhost;
#查看用戶權(quán)限

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

grant select on hehe.* to nannan@localhost;
#用戶nannan只有hehe庫(kù)下所有表的查詢權(quán)限

切換用戶進(jìn)行驗(yàn)證

9.4遠(yuǎn)程登陸授權(quán)(使用navicat遠(yuǎn)程登陸)

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

9.5撤銷權(quán)限

revoke select on hehe.* from nannan@localhost;

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

十.總結(jié)

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

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

相關(guān)文章

  • MySQL 數(shù)據(jù)庫(kù)如何解決高并發(fā)問題

    MySQL 數(shù)據(jù)庫(kù)如何解決高并發(fā)問題

    這篇文章主要介紹了MySQL 如何處理高并發(fā),幫助大家更好的優(yōu)化MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL中表分區(qū)技術(shù)詳細(xì)解析

    MySQL中表分區(qū)技術(shù)詳細(xì)解析

    數(shù)據(jù)庫(kù)分區(qū)是一種物理數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)。雖然分區(qū)技術(shù)可以實(shí)現(xiàn)很多效果,但其主要目的是為了在特定的SQL操作中減少數(shù)據(jù)讀寫的總量以縮減sql語句的響應(yīng)時(shí)間,同時(shí)對(duì)于應(yīng)用來說分區(qū)完全是透明的。
    2016-06-06
  • mysql的校對(duì)規(guī)則引起的問題分析

    mysql的校對(duì)規(guī)則引起的問題分析

    在以前用oracle的時(shí)候,很少關(guān)于它的collation方法,但是在mysql中,這點(diǎn)不加注意的話,卻有可能會(huì)出現(xiàn)問題。
    2008-10-10
  • MySQL學(xué)習(xí)之基礎(chǔ)操作總結(jié)

    MySQL學(xué)習(xí)之基礎(chǔ)操作總結(jié)

    MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面 MySQL 是最好的。本文將為大家詳細(xì)介紹一下MySQL的基礎(chǔ)操作,需要的可以參考一下
    2022-03-03
  • Mysql讀寫分離過期常用解決方案

    Mysql讀寫分離過期常用解決方案

    這篇文章主要介紹了Mysql讀寫分離過期常用解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • mysql開啟遠(yuǎn)程連接(mysql開啟遠(yuǎn)程訪問)

    mysql開啟遠(yuǎn)程連接(mysql開啟遠(yuǎn)程訪問)

    開啟MYSQL遠(yuǎn)程連接權(quán)限的方法,大家參考使用吧
    2013-12-12
  • windows下重啟mysql的方法

    windows下重啟mysql的方法

    這篇文章主要介紹了windows下重啟mysql的方法,需要的朋友可以參考下
    2014-12-12
  • Mysql SSH隧道連接使用的基本步驟

    Mysql SSH隧道連接使用的基本步驟

    這篇文章主要給大家介紹了關(guān)于Mysql SSH隧道連接使用的基本步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • MySQL5.7.18下載和安裝過程圖文詳解

    MySQL5.7.18下載和安裝過程圖文詳解

    本文通過圖文并茂的形式給大家介紹了MySQL5.7.18下載和安裝過程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-07-07
  • mysql 開放外網(wǎng)訪問權(quán)限的方法

    mysql 開放外網(wǎng)訪問權(quán)限的方法

    今天小編就為大家分享一篇mysql 開放外網(wǎng)訪問權(quán)限的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評(píng)論

康乐县| 阜城县| 东乌珠穆沁旗| 兴和县| 辰溪县| 观塘区| 山东| 临城县| 甘南县| 图们市| 武平县| 苍南县| 辉南县| 新绛县| 芷江| 云林县| 申扎县| 德兴市| 安吉县| 金坛市| 察雅县| 东方市| 瑞昌市| 保山市| 凤庆县| 宁化县| 同仁县| 齐齐哈尔市| 杭锦旗| 大方县| 安阳市| 梨树县| 广水市| 南宁市| 偏关县| 嘉鱼县| 赞皇县| 炎陵县| 嘉义县| 沁水县| 广饶县|