SQL 入门语句 本人最喜欢用的简短语句

1. 插入语句的语法    **INSERT  INTO**

       实例操作:***里面为自己写的内容***

       单条插入: 

       INSERT   INTO  *** 表名称(表名称中列名称)*** VALUES***('列名称中的内容')*** ;

       例子:INSERT INTO grade(gradeName)VALUES('一年级');

       *多条插入(本人喜好):

        INSERT   INTO *** 表名称*** VALUES***(内容需要跟创建表的顺序一样)*** ;

        例子:

        

        INSERT   INTO  result   VALUES('3','s1003','3','33') ;此处如果其中一个不赋值需要                  写NULL,不然会报错。

       

      2.修改语句的语法    UPDATE   ***表名***   SET  ***修改的列名=‘赋值’ ***    WHERE  ***后面为判断条件***

       

#将成绩表中所有不及格成绩增加5分。
UPDATE result SET studentResult=studentResult+5 WHERE studentResult<'60';


#将成绩表中70-90分的学生成绩减5
UPDATE result SET studentResult=studentResult-5 WHERE studentResult<90 AND studentResult>60;

#写法二  BETWEEN   AND  语法指的区间 

**AND是 与 的意思'Java中&&',或者可以理解为 一段信息需要满足两个列名的条件 (可参考下面)。

UPDATE result SET studentResult=studentResult-5 WHERE studentResult BETWEEN 70 AND 90;

**OR是 和的意思 (例子为)

UPDATE result SET studentResult=studentResult-5 WHERE  studentResult ='90' OR

studentResult ='60';

表示分数等于90和 分数等于60的都自减5分。
 

3.删除语句   DELETE  FROM    ***表名***   WHERE  ***判断条件***
#删除成绩表中不及格成绩
DELETE FROM result WHERE studentResult<60;

(重点)如果此时需要删除的 列名中  有关联的子级 , 需要先将子级一个个删除后才可以删除你所需要删除的父级。(本人喜好:直接删报错啥就删啥);

例子:

#删除学生表(student)中学号为s1001的学生信息
#如果在关连的成绩表(result)中存在该学生的成绩,必须先删除该学生的成绩
DELETE FROM student WHERE studentNo='s1001';
DELETE FROM result WHERE studentNo='s1001';

 4.查询语句   SELECT  ***列名*** FROM    ***表名***   WHERE  ***判断条件***

问题:查询学生表中(student)的所有信息查询
 * 表示查寻所有列  *表示通配符
SELECT * FROM student;

问题:对查询的列名进行重命名 ,通过as对列名(studentno,studentName,sex,phone,bornDate)进行重新命名,as可以省略
SELECT studentno AS 学号,studentName  AS 姓名,sex AS 性别,phone AS 电话,bornDate AS 生日 FROM student;


问题:查询参加过考试的学号(studentNo)信息
使用distinct 关键字去掉重读结果
SELECT DISTINCT studentNo FROM result;

5.模糊查询  通配符的使用 %  ,   _

问题:查询学生姓名(studentName )中包含‘丽’的学生信息(student )
LIKE 表示模糊查询的关键字 在模糊查询中使用通配符 表示模糊的内容
通配符% 表示任意长度的任意字符
SELECT * FROM student WHERE studentName LIKE'%丽%';

问题:查询所有性王的 单名学生(studentName) 通配符_表示一个单字,可拓展,可多个使用每一个通配符_就代表一个字;
SELECT *FROM student WHERE studentName LIKE '王_';

问题:查询邮箱号码为空的学生信息 
 判断是否为null 使用 is null
 判断是否不为null 使用 is not null
SELECT * FROM student WHERE email IS NULL;

SELECT * FROM student WHERE email IS NOT NULL;

6.对查询结果的排序  关键字(升序)  ORDER  BY    , (降序) ORDER  BY  ***列名***  DESC

问题:查询所有学生的成绩(studentResult),并按照所有考试升序;
SELECT *FROM result ORDER BY studentResult;
问题:查询所有学生的成绩(studentResult),并按照所有考试降序;
SELECT *FROM result ORDER BY studentResult DESC;

问题:查询课程编号为1的前5名成绩信息 
 如果筛选和排序都存在   先进行筛选 编号(SubjectId),再进行(StudentResult )排序前五,
LIMIT 语句表示返回指定的的区间 可以理解为(0,5) 
SELECT *FROM result WHERE SubjectId='1' ORDER BY StudentResult DESC LIMIT 5;

 

问题:(重点)查询课程编号(SubjectId)为1的第6名到第10名成绩信息
LIMIT 语句,指定两个数字,第一个数字表示跳过前多少条,第二个数字表示再返回前多少个;
(本人理解  从第5个数后面开始数 数后面5个数字)
SELECT *FROM result WHERE SubjectId='1' ORDER BY StudentResult DESC LIMIT 5,5;

 

你可能感兴趣的:(sql,数据库)