结构化查询语言SQL(2)

注意事项:update本身是一个列操作的语句,即不加条件,操作的是表中的整列数据;如果加了条件,因为条件限定是行,则表示操作的是选中的行所对应的列。

示例: SELECT * FROM student;
          UPDATE student SET sage=40;
          UPDATE student SET sage=(sage+sphone)-sage,sphone=(sage+sphone)-sphone;
          UPDATE student SET sage=sage+1;
          UPDATE student SET sage=sage+1 where ssec='F';
          UPDATE student SET sname=replace(sname,'张','陈');

3.delete删除数据

语法格式:delete from 表 [where 条件]

注意事项:delete是一个行操作,最小操作单位是一条记录,切记delete没有*号;如果不加where条件,则表示删除整个表中的所有记录。

示例:DELETE FROM student WHERE sid='s0002';
        INSERT INTO course VALUES('c0001','oracle','teacher 1',32);
        INSERT INTO score VALUES('sc0001','s0001','c0001',100);
        SELECT * FROM student;
         SELECT * FROM course;
        SELECT * FROM score;

4.truncate:是DDL语句,但也可以实现删除整表的数据的效果

语法格式:truncate table  表名

示例:  truncate table score;

三、数据查询语言DQL

1. select 用来对数据进行查询,获取用户想要的信息。

语法格式:

select : 查询的内容,是必选关键字,后面跟要查询的内容,一般以字段为主、也可以是常量、表达式(包含字段)。
  --from: 查询内容的来源,是必选关键字,来源可以是表格、多个表格、其他的查询语句等;
  --where:条件,可选关键字,一般用来指定查询的条件,即用来过滤数据;
  --group by:字段,可选关键字,用来实现分组查询;
  --having:条件,可选关键字,是用来对分组之后的结果进行过滤;
  --order by:字段,可选关键字,用来实现排序操作;

注意事项:不带条件的查询,即列查询,查询内容可以是表中的一个字段、多个字段、常量或者表达式。

示例:

--查询学生表的所有内容
        SELECT * FROM student;
--查询所有学生的姓名和年龄
        SELECT sname,sage  FROM student;
--查询常量
        SELECT sname,sage,'teacher 1'  FROM student;
--查询内容是表达式
        SELECT sname,sage,sage+1 FROM student;

2. ||  用来实现字符串、变量的拼接操作的

示例:SELECT sname,sage,sage||'岁' FROM student;
         SELECT sname,ssex FROM student;
         SELECT sname,ssex,case WHEN ssex='M' THEN '男' ELSE '女' END FROM student;

3.条件

  加查询条件是用来过滤数据的,过滤的基本单位是行,常见的关键字有:(> /< /= />= /<=/ !=/ <> /between..and.. /like/ in /all /any /exists/not exists等;多个条件的连接符有:and\or\!

示例:

--查询年龄大于28岁的所有学生的信息
      SELECT * FROM student WHERE sage>28;
--查询年龄大于等于28岁的所有学生的信息;
     SELECT * FROM student WHERE sage>=28;
--查询所有男生信息
      SELECT * FROM student WHERE ssex='M';
      SELECT * FROM student WHERE ssex!='F';
      SELECT * FROM student WHERE ssex<>'F';
--查询学号比s0010靠前的学生的信息。
      SELECT * FROM student WHERE sid<'s0010';

1)between..and..

语法格式:字段 between 值1 and 值2  等价于 字段>=值1 and 字段<=值2;是一个独立、完整的字段,不可拆分。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a63f680df3ed49ca31e73cb7b79c9598.html