《MYSQL必知必会2
60、NULL是没有值,空串是一个有效值
61、主键只能使用不允许未NULL值的列
62、每个表只允许一个auto_increment列
63、不允许使用函数作为默认值,只支持常量
64、InnoDB 支持事务的引擎,可靠;MEMORY 快,数据存储在内存,适合临时表;MyISAM 快,支持全文搜索
65、修改表定义:alter table 表名
66、删除表:drop table 表名
67、重命名表:rename table 表名 to 新表名
68、视图本身不包含数据,仅仅是用来查看存储在别处的数据的一种措施
69、视图的作用:1)简化负责sql语句的编写2)重新格式化检索出的数据
70、可以通过更新视图来更新基表,但不是所有视图都能更新
71、存储过程就是为以后的使用而保存的一条或多条MYSQL语句的集合。可以视为批文件,虽然他的作用不限于批处理
72、使用存储过程的好处:简单(使用者不用写复杂的sql);安全(限制了使用者对基本数据的访问,防止误操作);高性能(存储过程比单独的SQL语句快)
73、执行存储过程用CALL
CALL product(@pricelow,@pricehigh,@priceaverage);
存储过程实际上是一个函数
74、创建存储过程:create procedure 过程名()
Begin
Select * from tbl_order;
End;
75、删除存储过程:drop procedure 存储过程名 ---不加()
存在时才删除:drop procedure if exists
76、所有的mysql变量都必须以@开始
Create procedure ordertotal(
In onumber int,
In taxable Boolean
Out ototal decimal(8,2)
)
Begin
Declare total decimal(8,2);
Declare taxrate int default 6;
Select sum(item_price*quantity)
For orderitems
Where order_num=onumber
Into total
If taxable then
Select total+(total/100*taxrate) into total
End if;
Select total into ototal;
End;
================++++++++++
Call ordertotal(2005.1.@total);
Select @total
77、游标只能用于存储过程,存储过程执行完后,游标就消失(因为它仅限于存储过程)
78、存储过程里也可以建表,可以call其他的存储过程
79、触发器是MYSQL相应增删改时自动执行的一条MYSQL语句(包括存储过程里位于begin end之间的语句)
80、只有表才支持触发器,视图不支持,临时表也不支持
81、每个表最多支持6个触发器(insert update delete 之前与之后)
82、MYSQL触发器不能调用call,所以不能调用存储过程
83、并非所有引擎都支持事务,MYISAM不支持事务,InnoDB就支持
84、事务可以用来管理insert update delete
85、若起来事务,想使修改生效,需要执行commit命令
86、Commit或rollback后,事务自动关闭
87、为了支持回退部分事务,需要使用“保留点”
88、MYSQL默认是自动提交更改,若不想自动提交,set autocommit =0即可
Autocommit是针对每个链接的,不是服务器
89、27章未看:全球化和本地化
若你对sql里有多个or,那就改成用联合union,这样性能会大大提升
《MYSQL必知必会2的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- CentOS7上Redis安装与配置
一.redis安装(注意:最好先安装一遍gcc->yum -y install gcc:如果系统本身缺少,make时候会出错,后期修改稍麻烦) 1.wget命令下载 wget http://do ...
- Ansible 使用 Playbook 管理 Nginx 配置文件
前面我们已经安装完 Nginx,但是在日常维护中经常需要修改配置文件,并重新加载配置文件,因此来写一个管理 Nginx 配置文件的 Playbook: [root@localhost ~]$ mkdi ...
- 使用 requests 发送 POST 请求
POST请求也就是向服务器提交数据,通常我们用来提交表单数据: import requests postdata = { //定义表单数据 "username": "ab ...
- [Command] sync - 同步内存与硬盘数据
sync - 同步内存与硬盘之间的数据. sync [--help] [--version] sync 命令将内存中缓存的数据写入磁盘.这包括但不限于修改过的 superblock, inode 和延 ...
- N76E003之串口
N76E003包含两个具备增强的自动地址识别和帧错误检测功能的全双工串口.由于两个串口的控制位是一样的,为了区分两个串口控制位,串口1的控制位以“_1”结尾(例如SCON_1).下述详例以串口0为例. ...
- MVC的简单初步学习(2)
今天似乎一切是正常的,我们的课依旧在进行着,但是恍惚脑海中并没有那样的平静,不知道在想些什么?而且今天是学习MVC的初步开始,我应该认真地学习才是正确的啊.但是我并不糊涂,今天是周一,也就是刚开始上课 ...
- JSPatch实现原理详解
本文转载至 http://blog.cnbang.net/tech/2808/ JSPatch以小巧的体积做到了让JS调用/替换任意OC方法,让iOS APP具备热更新的能力,在实现 JSPatch ...
- Linq-string判断忽略大小写
Coupon203Play play = dbContext.Coupon203Plays.Where(u => u.VerifyCode.Equals(verifyCode,StringCom ...
- ios设备唯一标识获取策略
In iOS 7 and later, if you ask for the MAC address of an iOS device, the system returns the value 02 ...
- 【大数据系列】使用api修改hadoop的副本数和块大小
package com.slp.hdfs; import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.h ...