03随风而逝

写写今天学到的知识, 简单,少。

《mysql必知必会》:有 子查询,联结表,高级联结,组合查询,插入数据,更新和删除数据,创建和操作表,使用视图。

子查询:子查询总是由内到外处理,例如: select * from user where id=(select classes_id from classes); 当where后面有多个值 可以使用in关键字,有时还要定义别名哦;

联结表(等值联结):当数据保存在两张表或多张表中时,怎么查询呢?第一你可以建立外键foreign key 通过外键建立关系,第二就是创建联结,联结时一种机制。例如user表,classes表,select user.name classes.name from user,classes where  user.id=classes.id;这样会产生笛卡儿积,也是数据冗余。这个时候就要使用联结了,不在使用外键,也就是听到的内联inner join on,例如user表,classes表,第三张表user_classes表,例如:select * from user join user_ classes on user.id=user_classes.user_id inner join classes on user_classes.classes_id=classes.id;就可以了。

高级联结:有三种:自联结,自然联结,外部联结。自联结就是 子查询就不在说了,自然联结内部联结都是自然联结。外部联结指联结包含了那些表中没有关联的字段/行。外部联结注意一点,就是在使用 outer join on 前面加right就是 右边的表,left 相反。

组合查询:就是两个select 语句中间使用union联结,等于说执行了两个sql 语句。输出的结果组合成单个查询结果。nuion all 是查询全部。

插入数据: insert into 表名(字段) values(值),注意点就是插入数据时尽量对应列名的字段,即使表结构发生错误或者列发生变化,插入的数据依然可以。insert 和select 可以组合使用,select 作为值插入。

更新和删除数据:update 表 set  字段=值 where  id=xxx,删除一行:delete from 表名 where id=xx;


还没写完~~~~~~~~~~~~~

2018年10月28 22:54

你可能感兴趣的:(03随风而逝)