一、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




数据库(mysql)的更多相关文章

  1. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  2. Robot Framework-DatabaseLibrary数据库(MySql)

    Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...

  3. paip.导入数据英文音标到数据库mysql为空的问题之道解决原理

    paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙,  E ...

  4. paip.解决 数据库mysql增加列 字段很慢添加字段很慢

    paip.解决 数据库mysql增加列 字段很慢添加字段很慢 #环境如下: mysql5.6    数据仅仅3w alter table xxx add column yyy int default ...

  5. Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、oracle...)间进行数据的传递

    http://niuzhenxin.iteye.com/blog/1706203   Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql.postgresql.. ...

  6. 数据库MySQL多个数据库服务冲突

    一.目标名称 MySQL 二.目标版本 mysql-5.6.24-win32.1432006610.zip 三.环境信息 系统:windows 7 旗舰版 防火墙:关闭  —— 注意:如果防火墙不关闭 ...

  7. paip.将数据导入到在英语语音数据库mysql道路解决空原则问题

    paip.将数据导入到在英语语音数据库mysql道路解决空原则问题 #---原因:mysql 导入工具bug #---解决:不要使用双引号括注音. 笔者 老哇爪 Attilax 艾龙.  EMAIL: ...

  8. Yii Framework2.0开发教程(5)数据库mysql性能

    继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...

  9. cpanel导入大数据库(mysql)的方法

    phpmyadmin是一件很方便的在线管理MySQL数据库的工具,但对于较大的数据库的导出和导入却很容易出错.特别是导入工作,通常5M已经是它的极限了.这里,主要介绍一下如何通过cPanel导入大型的 ...

  10. 前端学习数据库MYSQL

    这篇文章主要写了 1.数据库MYSQL 2.基本上会遇到的所有SQL语句 数据库可视化软件------Navicat 数据库里边存放的是表,表与表之间是有关联的,而且可以对表进行相关操作(增,删,改, ...

随机推荐

  1. 微服务-springcloud

    感觉微服务都差不多概念,最近稍微看了下springcloud,感觉入门还是很简单的,框架用用就那么回事,深入的话需要很多时间投入了 学一个东西,我推荐首先从概念上了解到他是做什么的,什么时候需要,基本 ...

  2. classloader trace

    类加载机制: 程序启动时,根据入口函数调用相关功能,功能在不同类中即在不同的class文件中,jvm根据类加载机制来动态加载class文件到内存中,只有被加载后才能被调用,否则引发异常 1.装载:查找 ...

  3. Python : 什么是*args和**kwargs

    让生活Web个够 先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '-- ...

  4. FlashDevelop 发布SWC

    环境配置: 1.安装32位Java,经测试可用的 链接:http://pan.baidu.com/s/1i4CraXR 密码:xuud 2.ant,链接:http://pan.baidu.com/s/ ...

  5. AndroidScreenSlide项目切换view动画效果《IT蓝豹》

    AndroidScreenSlide项目切换view动画效果 AndroidScreenSlide项目中有几个不错的效果,一:Card Flip翻页立体效果,二:Screen Slide 左右切换vi ...

  6. Android代码规范

    Android代码规范——文章来源<IT蓝豹>http://itlanbao.com/preview.aspx#1,0 [-]一Import的次序二缩进Indentation总则示例代码规 ...

  7. vue样式绑定

    vue 绑定class 和style 有相同的地方,可以是数组和对象,对于class class是真实的在css样式中添加的,只不过在元素中添加需要:class这样代表绑定,然后这个class作为对象 ...

  8. Ubuntu下Git从搭建到使用详解

    Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...

  9. Electrom will-download pause function

    1.code from github url-link: https://github.com/electron/electron/issues/7712 // to store downloadIt ...

  10. Unity&Sqlite数据库

    Sqlite是一个跨平台关系型小型数据库,非常便利,适合于嵌入式设备:对于Sqlite数据库来说,这个数据库是以文件的形成存在的(比如data.db):数据库是由表组成的,在一个数据库里面可以存储多个 ...