91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫SQL語句高級操作實例代碼分析

發布時間:2022-09-20 14:49:34 來源:億速云 閱讀:129 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“MySQL數據庫SQL語句高級操作實例代碼分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“MySQL數據庫SQL語句高級操作實例代碼分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    一.克隆表

    1.1克隆方法一(將表與內容分開克隆)

    #create table 新表名 like 復制的表名;  
    復制格式,能將復制表的格式到新表,但是里面的內容無法復制
     
    insert into 新表名 select * from 復制的表名; 
    復制原表內容到新表

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

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

    create table 新表名 (select * from 復制的表名)
    數據結構和數據能一起復制

    MySQL數據庫SQL語句高級操作實例代碼分析

     二.清空表,刪除表內的所有數據  

    2.1方法一

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    2.2方法二

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    2.3小小結之drop,truncate,eleted的對比

    droptruncatedelete
    屬于DDL屬于DDL屬于DML
    不可回滾不可回滾可回滾
    不可帶where不可帶where可帶where
    表內容和結構刪除表內容刪除表結構在,表內容要看where執行的情況
    刪除速度快刪除速度快刪除速度慢,需要逐行刪除

    總結:

    不再需要一張表的時候用drop想刪除部分數據行的時候用delete,并且帶上where子句保留表而刪除所有數據的時候用truncate刪除速度:drop>truncate> delete安全性 delete 最好

    三.創建臨時表

    ##添加臨時表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; 
    ##在臨時表中添加數據
    insert into test03 values(1,'hehe',12345,'看美女'); 
    ##查看當前表中所有數據
    select * from naixu3;
    ##退出數據庫
    quit      
     
    ##重新登錄后進行查看  
    mysql -u root -p
    ##查看之前創建的臨時表中所有數據,發現已經被自動銷毀
    select * from naixu3;

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    四.用戶管理

    4.1新建用戶

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

    4.2使用明文密碼創建用戶

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    4.3使用密文創建數據庫

    MySQL數據庫SQL語句高級操作實例代碼分析

    五.查看用戶信息 

    創建后的用戶保存在 mysql 數據庫的 user 表里
     
    use mysql;   #使用mysql庫 
    select User from user;

    MySQL數據庫SQL語句高級操作實例代碼分析

    六.重命名用戶

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

    MySQL數據庫SQL語句高級操作實例代碼分析

     七.刪除用戶

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

    MySQL數據庫SQL語句高級操作實例代碼分析

     八.密碼管理

    8.1修改當前用戶密碼

    set password = password('123456');

    MySQL數據庫SQL語句高級操作實例代碼分析

    8.2修改其他用戶的密碼

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    8.3忘記root密碼

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    九.數據庫授權  

    9.1關于授權

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

    9.2授權

    GRANT 權限列表 ON 數據庫名/表名 TO '用戶名'@'來源地址' [IDENTIFIED BY '密碼'];
    權限列表用于列出授權使用的各種數據庫操作,以逗號進行分隔,如“select,insert,update”。使用“all”表示所有權限,可授權執行任何操作。
    數據庫名.表名用于指定授權操作的數據庫和表的名稱,其中可以使用通配符
    用戶名@來源地址用于指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪里連接。來源地址可以是域名、IP地址,還可以使用“%”通配符,表示某個區域或網段內的所有地址,如“%.accp.com”、“192.168.80.%”等。
    IDENTIFIED BY用于設置用戶連接數據庫時所使用的密碼字符串。在新建用戶時,若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。
    9.2.1授權列表
    權限功能
    select查詢數據
    insert插入數據
    update更新數據
    delete刪除數據
    create創建庫、表
    drop刪除庫、表
    index建立索引
    alter更改表屬性
    event事件
    trigger on創建觸發器

    9.3數據庫授權

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

    MySQL數據庫SQL語句高級操作實例代碼分析

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

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    切換用戶進行驗證

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

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

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

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    MySQL數據庫SQL語句高級操作實例代碼分析

    9.5撤銷權限

    revoke select on hehe.* from nannan@localhost;

    MySQL數據庫SQL語句高級操作實例代碼分析

     再次切換訪問,就已經沒有權限了

    MySQL數據庫SQL語句高級操作實例代碼分析

    讀到這里,這篇“MySQL數據庫SQL語句高級操作實例代碼分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    松江区| 济南市| 满城县| 平乐县| 耒阳市| 十堰市| 北票市| 司法| 济源市| 唐山市| 康乐县| 石狮市| 大化| 清丰县| 正宁县| 清苑县| 蓝山县| 治多县| 鄂尔多斯市| 寻乌县| 甘泉县| 彩票| 扬州市| 新丰县| 竹溪县| 大邑县| 靖西县| 潜江市| 庆元县| 卢湾区| 黔西| 达州市| 大新县| 招远市| 安阳县| 喀喇沁旗| 澎湖县| 眉山市| 绍兴县| 巴里| 长岭县|