DML(數(shù)據(jù)操作語言)

插入

語法:
方式一:
    insert into 表名(字段名,...)
    values(值1,...);
方式二:
    insert into 表名
    set 列名=值,列名=值,.... 

特點(diǎn):

    1、字段類型和值類型一致或兼容,而且一一對(duì)應(yīng)
    2、可以為空的字段,可以不用插入值,或用null填充
    3、不可以為空的字段,必須插入值
    4、字段個(gè)數(shù)和值的個(gè)數(shù)必須一致
    5、字段可以省略,但默認(rèn)所有字段,并且順序和表中的存儲(chǔ)順序一致

Eg.     
    #一、插入語句
    SELECT
        * 
    FROM
        beauty;
        
    #1.插入的值的類型要與列的類型一致或兼容
    INSERT INTO beauty ( id, NAME, sex, borndate, phone, photo, boyfriend_id )
    VALUES
        ( 13, '唐藝昕', '女', '1990-4-23', '1898888888', NULL, 2 );
    
    #2.可以插入NULL值的列
    #方式一:
    INSERT INTO beauty ( id, NAME, sex, borndate, phone, photo, boyfriend_id )
    VALUES
        ( 13, '唐藝昕', '女', '1990-4-23', '1898888888', NULL, 2 );
        
    #方式二:
    INSERT INTO beauty ( id, NAME, sex, borndate, phone )
    VALUES
        ( 14, '金星', '女', '1990-4-23', '1398888888' );
    
    #3.調(diào)整順序
    INSERT INTO beauty ( NAME, sex, id, phone )
    VALUES
        ( '蔣欣', '女', 16, '110' );
    
    #4.列數(shù)必須和值的格式一致
    
    #5.可以省略列名,默認(rèn)所有列,而且列的順序和表中列的順序一致
    INSERT INTO beauty
    VALUES
        ( 18, '張飛', '男', NULL, '119', NULL, NULL );
        
    INSERT INTO beauty 
    SET id = 19,
    NAME = '劉濤',
    phone = '999';
    
    INSERT INTO beauty ( id, NAME, phone ) SELECT
    26,
    '宋茜',
    '11809866';
    

修改

修改單表語法:
     update 表名 set 字段=新值,字段=新值
    【where 篩選條件】
    
修改多表語法:
    【sql92語法】
    update 表1 別名1,表2 別名2
    set 字段=新值,字段=新值
    where 連接條件
    and 篩選條件
    
    【sql99】
    update 表1 別名
    inner|left|right hoin 表2 別名
    on 連接條件
    set 列=值,....
    where 篩選條件;

Eg.     
    #二、修改語句
    #1.修改單表的記錄
    #案例一:修改beauty表中姓唐電話為13899888899
    UPDATE beauty 
    SET phone = '13899888899'
    WHERE NAME LIKE '%唐%';
    
    #案例二:修改boys表中id為2的名稱為張飛,魅力值為10
    UPDATE boys 
    SET boyName='張飛',userCP=10
    WHERE id=2;
    
    #2.修改多表的記錄
    #案例一:修改張無忌的grilsfriend's phonenumber as 114
    UPDATE boys bo
    INNER JOIN beauty b ON bo.id =b.boyfriend_id
    SET b.phone='114'
    WHERE bo.boyName='張無忌';

刪除

方式1:delete語句 

單表的刪除: ★

    delete from 表名 【where 篩選條件】

多表的刪除:
    【sql92】
    delete 別名1,別名2
    from 表1 別名1,表2 別名2
    where 連接條件
    and 篩選條件;
    【sql99】
    delete 表的別名
    from 表1 別名
    inner|left|right join 表2 別名 on 連接條件
    where 篩選條件;

Eg.     
    #方式一:
    #1.單表的刪除
    #案例一:刪除手機(jī)號(hào)以9結(jié)尾的信息
    DELETE FROM beauty WHERE phone LIKE '%9';
    SELECT * FROM beauty;
    
    #2.多表的刪除
    #案例二:
    DELETE b
    FROM beauty b
    INNER JOIN boys bo ON b.boyfriend_id = bo.id
    WHERE bo.boyName = '張無忌';
    
    #案例三:
    DELETE b,bo
    FROM beauty b
    INNER JOIN boys bo ON b.boyfriend_id = bo.id
    WHERE bo.boyName = '黃曉明';


方式2:truncate語句(用于清空所有信息)

    truncate table 表名
    
Eg. 
    #方式二:truncate語句
    #案例:將魅力值>100的信息刪除
    TRUNCATE TABLE boys

兩種方式的區(qū)別:
    1. truncate不能加where條件,而delete可以加where條件
    
    2. truncate的效率高一丟丟
    
    3. truncate 刪除帶自增長的列的表后,如果再插入數(shù)據(jù),數(shù)據(jù)從1開始
       delete 刪除帶自增長列的表后,如果再插入數(shù)據(jù),數(shù)據(jù)從上一次的斷點(diǎn)處開始
    
    4. truncate刪除不能回滾,delete刪除可以回滾
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇博文是自己在學(xué)習(xí)git過程中的思考總結(jié)。本文僅僅代表個(gè)人的看法,如有不妥地方還請(qǐng)本文文末留言。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,276評(píng)論 4 18
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,980評(píng)論 0 9
  • 其他相關(guān)系列文章:Python語言基礎(chǔ)學(xué)習(xí)筆記(1)——變量、字符串 1列表的介紹 什么是列表 首先從格式上來講,...
    啟源啊啊啊閱讀 676評(píng)論 0 1
  • 論文的排版是讓許多人頭疼的問題,尤其是論文需要多次修改時(shí)更加令人頭疼。本文將給你提供一些用Microsoft Wo...
    SCI發(fā)表閱讀 4,251評(píng)論 0 5
  • 沉默了一個(gè)月,一個(gè)月足以發(fā)生很多事情。 你相信嗎,有一種力量能在無形中快速至你于死地。它會(huì)將你的精神一點(diǎn)點(diǎn)瓦解,崩...
    三月_sanyue閱讀 588評(píng)論 2 7

友情鏈接更多精彩內(nèi)容