MySQL必知必会笔记<2>
【英】ben Forta著
5
1.0 *使用扩展查询*
|---->select note from table where Match(note) Against('anl');
|--->where Match(note) Against('anl' WITH QUERY EXPANSION);
|--->按等级返回与第一行(优先级最高)有关的行,表中行越多,使用扩展查询结果越好。
2.0 *关于insert*
|--->insert操作耗时,可能降低等待处理的select语句性能。解决方案:
|-->在insert和into之间插入LOW_PRIORITY(降低优先级)
|-->同样适用于 UPDATAE ,DELETE语句。
*提高insert性能*------>MySQL用单条insert语句处理多个插入比使用多条insert语句快。==== values (),(),()...
*关于 INSERT SELECT的使用,顾名思义就是把SELECT语句的内容作为INSERT的插入部分*
|--->eg: insert into 表名1(列) select 列 from 表名2
3.0 *关于布尔文本搜索* 即使没有FULLTEXT索引也可以使用。
eg: select note
from 表
where Match(note) Against('heavy -ropt*' IN BOOLEAN MODE);
|--->为了匹配包含heavy,但不包含以rope开始词的行。
*全文本布尔操作符*
---- 几个经典例子:
4.0 *关于IGNORE*
UPDATE 更新多行时,一行出错就会发生错误。
|--->解决方案:UPDATE IGNORE .......
*为了删除某个 列的值,可以设置他为NULL*
|---->delete 删除整行而不是某个列,若删除列用update语句。
|---->删除行,所有的行,但不会删除表本身。
*若要删除所有行,TRUNCATE TABLE (删除一个表,重新创建一个表)
5.0
*MySQL没有撤销(undo)按钮*
|---》NULL值是没有值,不是空串,空串是有一个有效的值,不是无值。
|---》AUTO_INCREMENT (每个表只允许一个这样的列,而且他必须被索引)
select last_insert-id()
|----->返回最后一个AUTO_INCREMENT值。
6
1.0 *关于MSQL引擎*
|
|--->InnoDB 创建表最后一句常用。|ENGINE = InnoDB;
|---->可靠的事务处理引擎,不支持全文本搜索
|
|--->MEMORY 功能等同于MYISAM,由于数据存储在内存,比较快,适用于临时表。
|
|--->MyISAM(大多数默认的引擎)支持全文本搜索,不支持事务处理。
**** 外键不能跨引擎 ***
*ALTER TABLE 常用来定义外键*
|----> eg: alter table 表名
Add CONSTRAINT 列
FOREIGN KEY () REFERENCE 表 (列)
2.0
*视图不能索引也不能有关联的触发器或默认值*
SHOW CREATE VIEW viewname;------>查看创建视图的语句
*关于更新*---------->先DROP再用CREATE ,也可以用CREATE OR REPLACE VIEW
|------->insert update delete
若有以下则不能更新:| 分组(group by having)
| 联结
| 子查询
|并
|聚集函数
|Distinct
|导出列
3.0
*关于创建存储过程*
| CREATE PROCEDURE 存储名()
BEGIN
select语句
END;
引用存储过程的语句: CALL 存储名();
|--->将会显示select语句的查询结果。
删除语句: DROP PROCEDURE 存储名;(如果删除的不存在将会出现 错误)
|--->解决方案: DROP PROCEDURE IF EXISTS;
4.0
MYSQL命令行客户机分隔符
DELTMITER //
A
END //
DELTMITER ;(除\符号以外)
5.0
*存储过程本质是一个函数*
注释语句:--
SHOW CREATE PROCEDURE 存储名;
|---> STATUS LIKE '存储名';--------->like限制输出
6.0
*关于游标* 是一个存储在MYSQL服务器上的数据库查询,他不是一条select语句,而是被该语句检索出来的结果集。 不像多数DBMS,MYSQL游标只用于存储过程(函数)
*触发器* ------->只有表才支持,视图不支持。
CREATE TRIGGER ....
FOR EACH ROW SELECT语句
|----->对每个插入行都执行。
7.0
事务处理用来维护数据库完整性。
START TRANSACTIDN
当COMMIT或ROLLBACK语句执行时,事务会自动关闭。
如果不想让事务自动提交,则可以 SET AUTOCOMMIT = 0;(不自动提交)------------>针对的是连接,不是服务器。
7
1.0 *关于安全*
CREATE USER ben IDENTIFIED BY 'p@123';(创建一个用户口令)
|---->指定口令为纯文本
RENAME USER ben TO f;
drop user ben;
|--------->删除帐号以及相关帐号权限
SET PASSWORD FOR ben = password('n3w p@1234');------------>更改口令。如果没有则更改的是自己。
2.0 *关于权限的问题*
GRANT 和REVOKE
|----->GRANT ALL和REVOKE ALL,对应于整个服务器
|----->ON DATABASE.*; 对应于整个数据库
|----->ON DATABASE.TABLE;对应于特定的表
|----->其他权限见下表
3.0 *关于数据库的维护*
*使用命令行实用程序MYSQLDUMP转储所有数据库内容到另外一个文件。
*使用命令行实用程序MYSQLHOTCOPY从一个数据库复制所有数据。
*ANALYZE TABLE用来检查表健是否正确。
*CHECK TABLE用来针对许多问题对表进行检查。
4.0
查看日志:
错误日志 hostname.err 位于data目录中。可用--log-error命令选项更改
查询日志:hostname.log --log
二进制日志:hostname-bin --log-bin
缓慢查询日志: hostname-slow.log --log-slow-queries
**在使用日志时,可用FLUSH LOGS语句来刷新和重新开始所有的日志文件**
5.0
*MYSQL变量都必须以@开始*
存储过程的一个例子:
|---->create procedure 名字 (out p1 Decimal(8,2))------->"Decimal 十进位"
| BEGIN SELECT MIN(列) INTO P1 end;
*串在字符集之间进行转换,使用cast()或 convert()函数*
MySQL必知必会笔记<2>的更多相关文章
- 《mysql必知必会》读书笔记--存储过程的使用
以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书 ...
- MySQL必知必会(第4版)整理笔记
参考书籍: BookName:<SQL必知必会(第4版)> BookName:<Mysql必知必会(第4版)> Author: Ben Forta 说明:本书学习笔记 1.了解 ...
- MySQL必知必会1-20章读书笔记
MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子 ...
- 《MySQL必知必会》学习笔记整理
简介 此笔记只包含<MySQL必知必会>中部分章节的整理笔记.这部分章节主要是一些在<SQL必知必会>中并未讲解的独属于 MySQL 数据库的一些特性,如正则表达式.全文本搜索 ...
- MySQL必知必会复习笔记(1)
MySQL必知必会笔记(一) MySQL必知必会是一本很优秀的MySQL教程书,并且相当精简,在日常中甚至能当成一本工作手册来查看.本系列笔记记录的是:1.自己记得不够牢的代码:2.自己觉得很重要的代 ...
- MySQL使用和操作总结(《MySQL必知必会》读书笔记)
简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. My ...
- 读《MySql必知必会》笔记
MySql必知必会 2017-12-21 意义:记录个人不注意的,或不明确的,或不知道的细节方法技巧,此书250页 登陆: mysql -u root-p -h myserver -P 9999 SH ...
- 《MySQL必知必会》学习笔记——前言
前言 MySQL已经成为世界上最受欢迎的数据库管理系统之一.无论是用在小型开发项目上,还是用来构建那些声名显赫的网站,MySQL都证明了自己是个稳定.可靠.快速.可信的系统,足以胜任任何数据存储业务的 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- mysql必知必会系列(一)
mysql必知必会系列是本人在读<mysql必知必会>中的笔记,方便自己以后查看. MySQL. Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据 ...
随机推荐
- Entity Framework 6 Code First创建
基本上我是DB先设计好的,所以就按现存在的table去写程式. 1.Web.config里配置Db连接字串,Connection String Name为DefaultConnection <c ...
- C++程序设计实践指导1.3求任意整数降序数改写要求实现
改写要求1:动态生成单链表存储 #include <cstdlib> #include <iostream> using namespace std; struct LinkN ...
- C/c++几个预定义的宏:__DATE__,__TIME__,__FILE__,__LINE__
一边情况下,C/C++编译器会内置几个宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息. ANSI C标准中有几个标准预定义宏(也是常用的): __ ...
- 从汇编看c++中指向成员变量的指针(一)
在c++中,指向类成员变量的指针存储的并不是该成员变量所在内存的地址,而仅仅是该成员变量在该类对象中相对于对象首地址的偏移量.因此,它必须绑定到某一个对象或者对象指针上面,这里的对象和对象指针,就相当 ...
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
在Lucene对文本进行处理的过程中,可以大致分为三大部分: 1.索引文件:提取文档内容并分析,生成索引 2.搜索内容:搜索索引内容,根据搜索关键字得出搜索结果 3.分析内容:对搜索词汇进行分析,生成 ...
- 用户登录之cookie信息安全一二事
大家都知道用户登陆后,用户信息一般会选择保存在cookie里面,因为cookie是保存客户端, 并且cookie可以在客户端用浏览器自由更改,这样将会造成用户cookie存在伪造的危险,从而可能使伪造 ...
- BootStrap 模态框禁用空白处点击关闭,手动显示隐藏,垂直居中
$('#ajax_wait').modal({ backdrop: 'static', keyboard: false }); backdrop:static ,空白处不关闭. keyboard:fa ...
- Oracle EBS-SQL (MRP-3):检查例外信息查询_建议取消_采购订单.sql
select msi.segment1 编码 ,msi.description ...
- NFC-P2P MODE
今日看见有关国内电信业者要合组TSM (Trusted Service Manager)提供NFC 服务的新闻, 这是属于NFC 所能提供的3种Mode中的Card emulation mode (就 ...
- instsrv.exe下载和使用方法(微软Windows Server 2003 Resource Kit Tools工具中的一个)
instsrv.exe是微软Windows Server 2003 Resource Kit Tools工具中的一个. Windows Server 2003 Resource Kit Tools是一 ...