快捷搜索:
来自 网络数据库 2019-06-22 17:59 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

MySQL

  MySQL是多用户二十多线程的DBMS,默许帮忙的积累机制是 InnoDB,InnoDB 通过创造行级锁保障工作的完整性,通过共享枪乌贼理 select 语句,以提供专门的学问安全的囤积机制。

 引擎管理和拍卖数据,MySQL协助各种引擎:

 ·  InnoDB :提供保险的事务处理,但不协理全文本寻找。

 ·  MyISAM:品质高、帮助全文本寻找,但不扶助事务管理。

工具的设置和应用

 ·  命令行应用程序安装教程:mysql-5.7.15-winx64.zip, 安装教程,常用命令

  net start/stop mysql  // 登录/退出mysql
  mysql [-h 主机名] -u 用户名 -p  (mysql@sqh)
  create user 用户名 identified by '密码'; // 创建用户

 ·  图形化交互界面工具:mysql-workbench 或 Navicat for MySQL

好几基本操作

 ·  show databases:数据库实例包括的数据库;

 ·  use/select 数据库名:选拔/查看数据库消息;
 ·  show tables:数据库中包含的数据表;

 ·  show columns from 表名:表列消息;

 ·  analyze table 表名; 检查表键是或不是正确;

 ·  optimize table 表名; 优化表空间;

 ·  show processlist;显示活动的线程;

函数

 ·  系统函数

  select Now()/Date()/Time();   // 时间日期
  select Version();   // 版本信息

 ·  管理函数

  Concat():字符串拼接
  Substring();截取子串
  Locate():查找子串

关键字

 ·insert

 MySql扶助在单个insert语句中插入七个values值,且效用高。

 ·where - having
 where 子句过滤行,having 子句过滤组;只可以在 having 子句中利用组函数(聚合函数);
 ·or - in

 in 优于 or,速度快,能够分包select子句,与not操作符结合简化SQL语句;

 ·like - regexp

 like利用通配符*_举行字符串相称,完全相称列值;regexp,正则表明式,部分相配列值,利用^xxx$可完全相配列值,效果等效于like,当中^和$是原则性符分别对应首和尾。binary regexp可分别轻重缓急写。

 ·limit

 限制接纳的行数,MySQL-5新添 limit ... offset ... 语法;

 ·auto_increment

 自动扩充,各种表只允许有一列且必须被索引。重回值:(1)last _ insert _ id(); (2)after insert 触发器:

多表查询

 ·  交叉连接 cross join:笛卡尔乘积,无连接条件; 
 ·  自然连接 natural join:以 2 表中的全部同名列为连接条件,内部连接的一种; 
    -  using 子句连接:显式钦点有个别同名列为连接条件; 
 ·  左、右、全外连接 left/right/full join: 
    -  on 子句连接:常用连接情势;

约束

  MySQL 使用 auto_increment 帮衬自拉长特点,支持除 check 外的 4 种完整性约束:
·  not null:非空约束;
·  unique:唯一约束;
·  primary key:主键约束;
·  foreign key:外键约束,参照完整性;
  级联删除:删除主表记录时,关联的从表记录也删除,则必要在创建外键约束的前边增添on delete cascade 或 on delete set null,前者是级联删除,后者是将从表的关联列的值设置为null。
  具体运用可参见 MySQL - 约束;

索引

  形式Schema中的一个数据库对象,从属于数据表。通过快捷路线访问方法飞快牢固数据、加速对表的查询。缺点是索引的积存占用空间、索引的有限支撑有系统开荒。

视图

  三个或三个数据表中著录的逻辑突显。通过 with check option 子句强制不容许修改视图的多寡。
 ·  提供数据的独立性;
 ·  简化查询;
 新京葡娱乐场网址 ,·  限制对数码的走访,提供对同样数量的不一样展现;
  视图的 本质 是一条被取名的SQL查询语句。利用 子查询 创设视图,一样可以创设表:

   create or replace view 视图名
      as 子查询语句
   查看视图创建语句:show create view 视图名;
   更新视图:create or replace view 视图名;

仓库储存进度

 MySql以call调用存款和储蓄进度。

  查看存储过程创建语句:show create procedure 存储过程名;
  查看存储过程附加信息:show procedure status like '存储过程名';

游标

 MySql游标只可以用来存款和储蓄进程和函数。

 内部定义顺序:局地变量,游标,句柄。

触发器

 trigger只好关联表,常用的NEW(可更新、可读)表和OLD(只读)表是针对当前触发器的一对表,在高速缓存中蕴藏新插入或删除的行数据的别本。创立:

  create trigger 触发器名 after/before insert/delete/update on 表名
  for each row 
  begin 
      SQL处理语句;
  end;

 当中,before用于数据印证,保障操作的合法性和待操作数据的不错。

事务

 MySql以start transaction标志事务开始。

全文本找出

 MySql须求被搜索的列在开立表时必须加索引,即选拔 fulltext(列名) 启用全文本搜索,会自动爱戴更新该索引,通过 Match(列名) Against('情势串') 实行全文本搜索。

 优点

 ·  fulltext速度比like快; 
 ·  鲜明调节文件相配,对寻觅结果按等第值智能排序;

 询问扩张:模糊相配,MySql对数码和目录举办2遍扫描实现找寻。 Match(列名) Against('形式串' with query expansion) 

 布尔文本寻觅:没有须求定义fulltext索引,利用全文本布尔操作符显然决定文件相称情势,功能低。 Match(列名) Against('情势串' in boolean mode) 

 


参考

·  21分钟MySQL 入门教程- wid - 新浪;
·  

 

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:MySQL

关键词: