MySQL_基础_DML数据操纵语言

Posted Catnip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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条件:      可以                   不可以
    日志:           记录                   不记录
    触发器:        触发                   不触发
    回滚:           可以                   不可以
    闪回:           可以                   不可以
    释放空间:     不会                   会
    产生碎片:     会                  不会

 

以上是关于MySQL_基础_DML数据操纵语言的主要内容,如果未能解决你的问题,请参考以下文章

MySQL操作基础之DML语句

MySQL之数据操纵语言(DML)

MySQL笔记数据操纵语言DML

ORACLE_数据处理

MySQL学习笔记DML语言(数据操纵语言)

oracle sql 基础:数据操纵语言