zoukankan      html  css  js  c++  java
  • MYSQL基础

     注: SQL语句不区分大小写, 但为了使代码易于阅读和调试往往关键字使用大写,并分写在多行的开头,本文为图方便未严格按要求书写,但不影响使用

    1.如果出现输入密码不正确的情况 则

    再将SQL服务关闭后打开

    2.建立一个表的完整过程:

    其中-h表示服务器名,localhost表示本地;-u为数据库用户名, root是mysql默认用户名;-p为密码,如果设置了密码 克在-p后键入 如:-p123456

     创建和增:

    改:

    查:

    简单查询: 

    嵌套查询:

    删:

     3.mysql的端口号为3360

    4.1>内连接:根据连接条件,连接两表 ,

    例如等值连接:根据等值运算符比较被连接的列值,得到被连接表的所有列,删除匹配不成功的行

    eg:   select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id   ;

     2>外连接包括:左连接,右连接

    左连接:以左表为基准,以连接条件进行数据连接,如果右表中在左表没有对应项,则设为NULL;

    右连接: 以右表为基准,以连接条件进行数据连接,如果左表中右表没有对应项,则设为NULL;

     select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id ;      

     select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id  ;  

    测试用数据库

     5. 指定第几行的起的几行数据

    注: 有第0行

    6. 注释

    7. 按多列排序 order by sth1, sth2;

     或者直接用列的相对位置来表示

    注: 如果进行排序的列不在SELECT清单中 则不能使用这种方法

     

    8. 排序方向

    order by 默认是升序排列 如果是降序则 order by sth desc;

    9. where 用法

    where子句操作符: <> != 不等于, !> 不大于, between 在两值之间...

    order by 必须放在where之后使用

    条件定位 where  and/or

    注:在and/or 混合使用时and在求值过程中优先级最高,为此, 注意()的使用

    in/not 使用

    注: in操作符的语法更清晰直观

    10. 通配符 "%" ,"_","[]"

    %和_ 用途类似, _ 只代表一个字符

    11. count用法

    12. group  by 分组数据 他后面不能使用where, 往往与having连用 

         where 在数据分组前进行过滤, having在数据分组后进行过滤

    13.聚类函数:AVG()平均值,COUNT()行数,MAX()最大值,MIN()最小值,SUM()某列之和

    14.order by 对产生的输出排序, group by 对行进行分组 

    15.子查询(嵌套查询):包含子查询的select语句难以阅读和调试, 因此注意分解为多行和适当的缩进

      

     16. 关系数据库: 以供应商与产品关系为例, 其好处有: (1) 供应商信息不重复, 不浪费时间空间 (2)如果供应商数据有变 只需更新供应商表中单个记录

         (3) 由于各表数据具有一致性, 处理数据和生成报表更简单 

          数据联结:用一条select语句检索出数据

    内联结语法(相等联结):

     17. 自联结:在查询中为一个表取不同的别名, 使用联结比子查询快得多

     18.外联结: 左联结:以左边表为基准, 如果右边表没有的行 设为NULL, 右联结类似

    mysql 不支持full outer join  全外联结包含两个表的所有不关联行

    19. 使用带聚集函数的联结

     20. UNION:组合查询

    使用情况: (1) 在一个查询中从不同的表返回结构数据(各表的列相同)

                     (2)对一个表执行多个查询,按一个查询返回数据(可以用OR语句代替)

    使用条件:(1)UNION必须由两条或两条以上select语句组成

                    (2)UNION中必须包含相同的列、表达式或聚集函数(列出现的次序可不同)

                  (3)列数据类型必须兼容

    注:UNION 默认去重,如果不想去重, 则使用UNION ALL

         在组合查询中,order by 语句必须置于最后一个select 之后,只能有一个

    21.插入数据

    插入方式: (1)插入完整行

    注:1>into 可省略, 但为了可移植性,最好写上

        2> boss后面的列名可以省略,但为了安全性, 最好加上 同时列名可与表中的实际次序不同

                     (2)插入行的部分

                     (3) 插入某些查询的结果

     

     从一个表复制到另一个表

    22. 更新数据 update(需高权限)

    update组成部分: 要更新的表

                               列名和他们的新值

                               确定要更新哪些行的过滤条件

    23. 删除 

    delete 删除整行, 若要删除列 则使用update

    如果要删除所有行 则用truncate table 速度更快

    如果省略where子句,则update 或delete将被应用到表中所有行

    24. 创建表

    null : 允许在插入时不给出该列的值

    not null : 阻止在插入时不给出该列的值,若没有值 则插入失败

    default 1; 将默认值设为1,  default current_date()默认日期

    25. 更新表:

    增加列项

    删除列

    删除表

    26. 使用视图

    27. 索引 : 用来排序数据以加快搜索金额排序操作的速度.

  • 相关阅读:
    css常用格式
    css选择器
    D1-mini esp8266的资料备份
    总结esp8266刷Python的完整的步骤(终极总结)
    用Python利用pyFirmata控制Arduino实现Blink
    microPython 的逗比报错的问题
    python+opencv+Face++实现人脸识别比对
    TypeError: slice indices must be integers or None or have an __index__ method
    opencv识别验证码的教程和资料
    校园网一键登录后台
  • 原文地址:https://www.cnblogs.com/zhaodun/p/7525317.html
Copyright © 2011-2022 走看看