您现在的位置是:首页 >

数据库字段是什么 MySql数据库数据更新操作其高级应用

火烧 2022-12-08 20:04:14 1050
MySql数据库数据更新操作其高级应用   数据更新操作有 种 向表中添加数据 修改表中的数据和删除表中的数据   用来演示的数据表用 tude t cour e c三个数据表 数据表具体内容在 PH

MySql数据库数据更新操作其高级应用  

  数据更新操作有 种 向表中添加数据 修改表中的数据和删除表中的数据

  用来演示的数据表用student course sc三个数据表 数据表具体内容在 PHP和MySql数据库 如何获取每个分类的记录的总数

  插入数据

  插入元组(一条数据)

  格式为

  INSERT INTO <表名>[(<属性列 >[ <属性列 >]…)]

  VALUES(<常量 >[ <常量 >]…);

  INTO子句中没有出现的属性列 新元组将取空值

  但表定义说明了NOT NULL属性的列不能取空值 否则会出错

  INTO子句没有指明任何列名 则新元组必须在每个属性上均有值

  例子

  [sql]

  INSERT INTO Student( Sno Sname Ssex Sdept Sage )

  VALUES (

   陈东 男 IS

  )

  当插入对应表中所有列的数据时 可以省略列名不写

  所以插入语句也可以这样写

  [sql]

  INSERT INTO Student

  VALUES (

   陈西 男 IS

  )

  插入多条数据

  插入多行数据时 与插入一条数据类似 不过每一条数据都需要用括号扩起来 并用逗号分隔

  当插入对应数据表中所有列的数据的时候 列名可以省略不写

  例子

  [sql]

  INSERT INTO Student

  VALUES (

   卡卡西 男 CS

  ) (

   琳 女 CS

  ) (

   带土 男 CS

  )

  插入子查询结果

  子查询可以嵌套在INSERT语句中 用以生成要插入的批量数据

  格式为

  INSERT

  INTO <表名> [(<属性列 > <属性列 > <属性列 >)]

  子查询;

  例子

  要求 对每个系 求学生的平均成绩 并把结果存入数据库中

  首先建立数据库

  [sql]

  CREATE TABLE Dept_age

  (Sdept char( ) Avg_age smallint);

  然后对student表按系分组 并求每个系的平均年龄 再把系名和平均年龄存入新表

  [sql]

  INSERT INTO dept_age( Sdept Avg_age )

  SELECT Sdept AVG( Sage )

  FROM Student

  GROUP BY Sdept

  插入结果

  例子

  要求 统计每个系的人数 并把结果存入数据库中

  首先建立存放查询结果的数据表

  [sql]

  CREATE TABLE Sdept_num

  (Sdept char( )

  Snum int);

  然后对student表按系分组 并求每个系统的总人数 再把系名和总人数存入新表

  [sql]

  INSERT INTO sdept_num( Sdept Snum )

  SELECT Sdept COUNT( Sno )

  FROM student

  GROUP BY Sdept

  插入结果

  修改数据

  修改数据又称为更新操作 其语句的一般格式为

  UPDATE <表名>

  SET <列名>=<表达式>[ <列名>=<表达式>]…

  [WHERE <条件>];

数据库字段是什么 MySql数据库数据更新操作其高级应用

  修改某一个元组的值

  将学生 卡卡西 的年龄修改为 岁

  [sql]

  UPDATE Student SET Sage = WHERE Sname = 卡卡西

  修改多个元组的值

  将所有学生的年龄增加 岁

  [sql]

  UPDATE Student SET Sage = Sage +

  带子查询的修改语句

  子查询也可以嵌套在UPDATE语句中 用以构造修改的条件

  将计算机科学系全体学生的成绩置零

  [sql]

  UPDATE SC SET Grade = WHERE EXISTS (

  SELECT *

  FROM Student

  WHERE SC Sno = Student Sno

  AND Student Sdept = IS

  )

  删除数据

  格式

  DELETE

  FROM <表名>

  [WHERE <条件>];

  删除某一个元组的值

  删除卡卡西同学的数据

  [sql]

  DELETE FROM Student WHERE Sname = 卡卡西

  删除多个元组的值

  删除所有学生的选课记录(也就是说要清空SC表 但是不删除)

  [sql]

  DELETE FROM SC;

  清空表是非常危险的操作 一定要确定里面的数据没用了 在清空

  带子查询的删除语句

  子查询同样可以嵌套在DELETE语句中 用以构造执行删除操作的条件

  删除计算机科学系所有学生的选课记录

  [sql]

  DELETE FROM SC WHERE EXISTS (

  SELECT *

  FROM Student

  WHERE SC Sno = Student Sno

  AND Student Sdept = IS

lishixinzhi/Article/program/MySQL/201311/29493  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码