插入数据 insert

插入有两种语句inser valueinser set。在Mysql中使用单条insert插入语句处理多个插入,要比使用多条insert插入更快。使用单条插入多条数据,将每行数据用圆括号括起来即可。

  • insert into 表 [列] value 值;
    插入的值对应列的排序

    insert into tb_courses
    -> (course_name,course_grade,course_info)
    -> values('System',3,'Operation System');
  • insert into 表 set 列 = 值;

快速复制数据到新表INSERT INTO…FROM

也可以直接使用create new table select 在原有的表上创建一个新表,可以看第二章的表操作语句。

INSERT INTO tb_courses_new
    -> (course_id,course_name,course_grade,course_info)
    -> SELECT course_id,course_name,course_grade,course_info
    -> FROM tb_courses;

修改数据 update

update 表名 set 字段=值 where 子句

UPDATE tb_courses_new
    -> SET course_name='DB',course_grade=3.5
    -> WHERE course_id=2;

删除数据 drop

delete from 表 where 字句

DELETE FROM tb_courses
    -> WHERE course_id=4;

视图

视图是一个虚拟的表,虽然包含行列数据,但是不是数据库真实存在的数据表。
视图是从一个、多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行。
从安全的角度来看,视图的数据安全性更高,使用视图的用户不接触数据表,不知道表结构。
视图不能索引,也不能有关联的触发器、默认值或规则。
视图不包含数据,所以每次使用视图时,都必须执行查询中所需的任何一个检索操作。

视图创建、修改、删除

  • 创建
    create view 视图名 as select语句;
    CREATE VIEW v_students_info
    -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date)
    -> AS SELECT id,name,dept_id,age,sex,height,login_date
    -> FROM tb_students_info;
  • 查询视图

    desc 视图名;
  • 修改
    alter view 视图名 as select 语句

    ALTER VIEW view_students_info
    -> AS SELECT id,name,age
    -> FROM tb_students_info;
    //修改已有视图
    UPDATE view_students_info
    -> SET age=25 WHERE id=1;
    //修改字段值
  • 删除
    drop view IF EXISTS 视图名;