SQL的ORDER BY 关键字,INSERT INTO语句,UPDATE语句,DELETE语句

SQL的ORDER BY 关键字,INSERT INTO语句,UPDATE语句,DELETE语句

ORSER BY 关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。默认为升序,如果想要降序排列,需要DESC关键字
ORDER BY的语法

SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;

注:ASC为升序,DESC为降序
例子依然是老师给的虚拟的“学生表”

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
801      金贤重               男     CS               23
802      李敏镐               男     MA               25
803      那英                 女     CS               41
804      金秀贤               女     MA               24
805      刘德华               男                      52
806      文章                 男     CS               27
807      刘欢                 男     MA               51
808      马伊琍               女     CS               36
809      姚笛                 女     MA               23
810      周杰伦               男                      39

及接下来演示按照年龄的升降序

//输入
SQL> SELECT * FROM s
  2  ORDER BY age;
//得到
SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
801      金贤重               男     CS               23
809      姚笛                 女     MA               23
804      金秀贤               女     MA               24
802      李敏镐               男     MA               25
806      文章                 男     CS               27
808      马伊琍               女     CS               36
810      周杰伦               男                      39
803      那英                 女     CS               41
807      刘欢                 男     MA               51
805      刘德华               男                      52
SQL>
//此为升序排列例子
//输入
SQL> SELECT * FROM s
  2  ORDER BY age DESC;
//得到
SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
805      刘德华               男                      52
807      刘欢                 男     MA               51
803      那英                 女     CS               41
810      周杰伦               男                      39
808      马伊琍               女     CS               36
806      文章                 男     CS               27
802      李敏镐               男     MA               25
804      金秀贤               女     MA               24
809      姚笛                 女     MA               23
801      金贤重               男     CS               23
SQL>
//此为降序例子

INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。
INSERT INTO 语法
INSERT INTO 语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

示例:

//插入的语句
SQL> INSERT INTO s
  2  VALUES ('857','孟寻','男','CS','18');
//查询的语句  
SQL> SELECT * FROM s;

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
801      金贤重               男     CS               23
802      李敏镐               男     MA               25
803      那英                 女     CS               41
804      金秀贤               女     MA               24
805      刘德华               男                      52
806      文章                 男     CS               27
807      刘欢                 男     MA               51
808      马伊琍               女     CS               36
809      姚笛                 女     MA               23
810      周杰伦               男                      39
857      孟寻                 男     CS               18
SQL>

可以看到孟寻同学已经在表中了,上为没有指定列的例子,注意没有指定列的情况下需要列出插入每一行的数据

SQL> INSERT INTO s(sno,sname,sex,age)
  2  VALUES ('1225','邜玥','女','19');
SQL> SELECT * FROM s;

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
801      金贤重               男     CS               23
802      李敏镐               男     MA               25
803      那英                 女     CS               41
804      金秀贤               女     MA               24
805      刘德华               男                      52
806      文章                 男     CS               27
807      刘欢                 男     MA               51
808      马伊琍               女     CS               36
809      姚笛                 女     MA               23
810      周杰伦               男                      39
857      孟寻                 男     CS               18

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
1225     邜玥                 女                      19
SQL>

可以看出邜玥同学已经在内,同时语句指定只插入sno,sname,sex,age的信息,无dept的数据,所以邜玥同学的dept数据为空的。

UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。
UPDATE 语法

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

注意使用UPDATE语句中的WHERE语句
WHERE 子句规定哪条记录或者哪些记录需要更新。如果省略了 WHERE 子句,所有的记录都将被更新
假设把上表中孟寻的年龄改为25,性别改成女

SQL> UPDATE s
  2  SET age = 25, sex = '女'
  3  WHERE sname = '孟寻';
SQL>
SQL>
SQL> SELECT * FROM s;

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
801      金贤重               男     CS               23
802      李敏镐               男     MA               25
803      那英                 女     CS               41
804      金秀贤               女     MA               24
805      刘德华               男                      52
806      文章                 男     CS               27
807      刘欢                 男     MA               51
808      马伊琍               女     CS               36
809      姚笛                 女     MA               23
810      周杰伦               男                      39
857      孟寻                 女     CS               25

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
1225     邜玥                 女                      19
SQL>

如果忽略了WHERE语句,那么表中的所有人的性别和年龄都将改变成,女,25;

DELETE语句

(顾名思义,删除)
DELETE 语句用于删除表中的记录。
DELETE语法

DELETE FROM table_name
WHERE some_column=some_value;

同样
注意 DELETE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要删除。如果省略了 WHERE 子句,所有的记录都将被删除
例如要删除邜玥同学的信息

SQL> DELETE FROM s
  2  WHERE sname = '邜玥';
SQL> SELECT * FROM s;

SNO      SNAME                SEX    DEPT            AGE
-------- -------------------- ------ -------- ----------
801      金贤重               男     CS               23
802      李敏镐               男     MA               25
803      那英                 女     CS               41
804      金秀贤               女     MA               24
805      刘德华               男                      52
806      文章                 男     CS               27
807      刘欢                 男     MA               51
808      马伊琍               女     CS               36
809      姚笛                 女     MA               23
810      周杰伦               男                      39
857      孟寻                 女     CS               25
SQL>

再查询的时候已经没了邜玥同学的信息了,删除记录的时候要小心,因为不能重来。

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