6.1课堂笔记—DML(数据操作语言),DQL查询语句

一、DML(数据操作语言)
    InnoDB            MyISAM
    支持事务          不支持事务
    不支持全文索引   支持全文索引
    支持外键约束    不支持
    命令查看默认存储引擎
        show variables like '%storage_engine%';
    1.表中插入数据
        #添加课程
        INSERT INTO `subject`
        VALUES (5,'C#',160,1);
        #插入多门课程
        INSERT INTO `subject`(subjectName,classHour,gradeID)
        VALUES ('数学',110,2),('语文',170,2),('英语',140,2);
        插入数据时,最好写上字段名
        
        #将查询结果插入新表
        create TABLE `phoneList`(
            SELECT studentName,phone FROM student
        );
    2、更新数据
        update table 表名 set 字段=值 where 条件
        
    3、删除数据
        delete from 表名 [where 条件]
        清空表数据
        truncate table 表名;
        TRUNCATE语句删除后将重置自增列,表结构及其字段、约束、索引保持不变,执行速度比DELETE语句快
二、DQL查询语句
    SELECT * from `subject`;
    SELECT subjectNo,subjectName,classHour,gradeID FROM `subject`;
    
    * 效率比较低(不推荐使用)    
    AS 给字段名取别名,可以省略
        SELECT 
            subjectNo  '编号',
            subjectName  '课程名称',
            classHour  '学时',
            gradeID '年级ID' 
        FROM `subject`;
    给表名取别名
        #查询两张表  笛卡尔积
        SELECT 
            s.studentNo,s.studentName,r.studentResult 
        FROM
            student as s,result as r;
    DISTINCT(去重复查询)    
        
     i between a and b  相当于  i>=a and i<=b
    is null 判断字段值是否为空 
        SELECT * FROM student AS s
            WHERE s.IdentityCard is NOT null
    in 是范围查询
        SELECT * FROM result AS r
            WHERE r.studentResult IN (70,80,90);
    like 模糊查询
        #查询所有姓李的学生
        _  
        %
        SELECT * FROM student AS s
        WHERE s.StudentName LIKE '李%';
    
        
        
        
        
        
        
        
        
        
        
志存高远,脚踏实地!
原文地址:https://www.cnblogs.com/benben2013A/p/7083281.html