mysql基本知识

Mysql的特点:

优点

   镜像复制:内容动态复制到其他计算机

   GIS函数

   全文检索: 简化对文本字段内单词的搜索

缺点

    不支持自定义数据类型

    不支持XML

数据表类型

    MyISAM: 静态(预定义固定长度、存储效率高)。 压缩(减少存储空间)

    InnoDB: 支持事务,数据行级锁定机制,外键约束, 不支持全文索引和GIS数据

Heap:存在于内存中,存取速度快,主要用于零食表

    事务用于InnoDB,锁定用于MyISAM,使用lock table 和unlock解上锁,只有InnoDB引擎才允许使用外键

数据类型

Bit数据类型

         严格:integer  decimal  numeric

         近似:float  real  double

日期

         同时包含日期和时间: datetime.

         Timestamp显示类型不正确,可能为整数值或datetime类型,用于修改记录的时间戳

字符串

         enum, set, blob 和text类型。    enum和set数据类型: 从n个字符串中选择一个或N个

存储过程

存储过程包含参数,事务,循环,游标,循环,嵌套调用
  1. 显示所有的存储过程   show procedure status
  2. 显示存储过程的详细信息  show create procedure sp_name
  3. 游标的使用:
      声明变量,所有的声明必须在非声明的语句前面
     

 declare cur1CURSOR FOR SELECT name FROM test.level ;
      CONTINUE HANDLERFOR SQLSTATE '02000' SET tmpname = null;
      OPEN cur1;
      /*游标向下走一步*/ 
      FETCH cur1 INTOtmpName;
      /* 循环体这很明显把游标查询出的 name都加起并用; 号隔开*/
      WHILE ( tmpnameis not null) DO
         set tmpName = CONCAT(tmpName ,";") ;
         set allName = CONCAT(allName ,tmpName) ;
        /*游标向下走一步*/ 
        FETCHcur1 INTO tmpName;
      END WHILE;
    CLOSE cur1;
    select allName;


    -- 如果出现异常,或自动处理并 rollback, 但不再通知调用方了
  4. 用户变量以 @ 开头,对大小写不敏感。 系统变量有两种,全局变量影响整体操作 @@global. 变量名,会话变量影响客户端连接 @@session. 变量名
  5. 存储过程可以有参数,参数类型为 out in
  6. 启动和停止事务   start transaction   commitroolbak

你可能感兴趣的:(mysql基本知识)