MySQL_基礎_DML數據操縱語言

插入語句

語法:    
    INSERT INTO 表名 [(列名1, 列名2,...)] VALUES ('值1', '值2',...);
    INSERT INTO 表名 SET 列名1='值1', 列名2='值2' ...;
    INSERT INTO 表名 [(列名1, 列名2,...)] SELECT ...;

案例:
    1、插入單行數據
    INSERT INTO student(id,name,age) VALUES(1,'小明',6);
    INSERT INTO student SET id=1, name='小明', age=6;

    2、插入多行數據
    INSERT INTO student(id,name,age) VALUES(1,'小明',6),(2,'小紅',5),(3,'小強',7);

    3、插入子查詢數據
    INSERT INTO student(id,name,age) SELECT 1,'小明',6;

 

修改語句

語法:
    UPDATE 表名 SET 列名1='值1' [, 列名2='值2', ...] 
    [WHERE 條件];

案例:
    1、修改單表數據
    UPDATE student SET age=7 WHERE name='小明';

    2、修改多表數據
    sql92語法:UPDATE student s,class c SET s.age=5,c. NAME='向日葵小班' WHERE s.class_id=c.id and c.id = 1;
    sql99語法:UPDATE student s INNER JOIN class c ON s.class_id=c.id SET s.age=5,c.name='向日葵小班' WHERE c.id = 1;

 

刪除語句

方式一:
    語法:
        DELETE FROM table [WHERE condition];

    案例:
        1、刪除單行數據
        DELETE FROM student WHERE id=1;

        2、刪除多表數據
        sql92語法:DELETE s,c FROM student s,class c WHERE s.class_id = c.id AND c.id = 1;
        sql99語法:DELETE s,c FROM student s INNER JOIN class c ON s.class_id = c.id WHERE c.id = 1;

方式二:
    語法:
        TRUNCATE TABLE table;
    
    案例:
        1、清空單表全部數據
        TRUNCATE TABLE student;
        
區別:
                    DELETE                TRUNCATE
    刪除方式:        逐條刪除              先摧毀表,再重建
    刪除後插入:      自增ID爲斷點值         自增ID爲1
    速度:           慢                  快
    返回值:        有                  沒有
    WHERE條件:      能夠                   不能夠
    日誌:           記錄                   不記錄
    觸發器:        觸發                   不觸發
    回滾:           能夠                   不能夠
    閃回:           能夠                   不能夠
    釋放空間:     不會                   會
    產生碎片:     會                  不會
相關文章
相關標籤/搜索