数据库(mysql)

一、left join  right join  inner join 

  left join(左连接),在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。

  right join(右连接),在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。

  full join(全连接),在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。(full join,在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。)

  inner join(内连接),在两张表进行连接查询时,只保留两张表中完全匹配的结果集。

二、myisam  innodb(存储引擎)

  myisam 锁是表级、支持全文索引、不支持事物处理、占用空间小

   innodb 锁是行级、不支持全文索引、支持事物处理、占用空间大(2倍)

三、数据库优化查询方法

  1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引

  2.应尽量避免在where子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全表扫描

  3.任何地方都不要使用select * from t,用具体的字段列表代替“ * ”,不要返回用不到的任何字段

  4.尽量避免大事务操作,提高系统并发能力

  5.尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理

四、索引、视图、事务

  索引:是一个数据结构,用来查询数据库表的数据

    主键索引:

      primary  key     

      作用:确认表中一条特定数据记录的位置,不能为空,一个表只有一个主键

    外键索引:表中的一个字段(非主键)指向另一张表中的主键,称该字段为主键。

      foreign  key(外键名)  references  主表(主键) ;

      作用:多表查询时方便联系两表数据。限制:表类型必须是innodb(有约束效果)

    唯一索引:确定某一列不能出现重复的值

      unique     

    普通索引:

      create  index   索引名   on   表名(列名)

    索引操作:

      创建:create  index   索引名   on   表名(列名)

      查看:show    index   from   表名

      删除:drop     index   索引名  on  表名   

  视图:是一个虚拟的表,不占用物理内存、不存放数据,数据只存在基表中,相互影响

    优点:简单、方便,查看数据更清楚;安全性:保护数据;不占物理内存

    缺点:性能差;查询效率偏低,需要转换;修改限制:对于复杂视图(多表查询)修改是麻烦的

    创建:create   view   视图名    as   select语句

    查询:show    creaw     view    视图名

    删除:drop   view     视图名

  事务:将多个SQL语句要完成的任务看出一个任务,只要有一个环节出错,所有的语句都不执行

    限制:表类型必须是innodb、先关闭数据库的自动提交(set autocommit=0/1(开启))

    回滚:返回前面的操作      rollback

    提交:开启自动提交:set   autocommit=1

       关闭自动提交:set   autocommit=0




转载于:https://www.cnblogs.com/I-love-Xiang/p/10074107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值