where 与 on 的区别 :
ON:针对关联表进行条件筛选,不会影响结果集的数量和主表数据。 WHERE:针对结果集进行条件筛选,会影响结果集的数量。 LIKE声明中的%和_是什么意思?
--%对应于0个或更多字符,_只是LIKE语句中的一个字符。 blod text
BLOB是一个二进制对象,可以容纳可变数量的数据。TEXT是一个不区分大小写的BLOB。 BLOB和TEXT类型之间的唯一区别在于对BLOB值进行排序和比较时区分大小写,对TEXT值不区分大小写。 mysql_fetch_array和mysql_fetch_object的区别: mysql_fetch_array() – 将结果行作为关联数组或来自数据库的常规数组返回。 mysql_fetch_object – 从数据库返回结果行作为对象。 ibd : 数据 + 索引
每个MyISAM表格以三种格式存储在磁盘上: ·“.frm”文件存储表定义 ·数据文件具有“.MYD”(MYData)扩展名 索引文件具有“.MYI”(MYIndex)扩展名 NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。 CURRENT_DATE()仅显示当前年份,月份和日期。
sql 优化 :

explain出来的各种item的意义;
select_type
表示查询中每个select子句的类型
type
表示MySQL在表中找到所需行的方式,又称“访问类型”
possible_keys
指出MySQL能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用
key
显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULL
key_len
表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度
ref
表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值
Extra
包含不适合在其他列中显示但十分重要的额外信息 (2)、profile的意义以及使用场景; 查询到 SQL 会执行多少时间, 并看出 CPU/Memory 使用量, 执行过程中 Systemlock, Table lock 花多少时间等等
数据库是磁盘文件,磁盘IO 的代价较高,所以采用索引减少IO 次数

drop直接删掉表有关的一切(数据/结构/约束…),不会记录日志
truncate 删除表中所有数据(再插入时自增长id又从1开始),该操作也不会记录日志所以比较快,为DDL操作。只能删table DELETE语句执行删除的过程是每次从表中删除一行,需要记录日志,比较慢,可以加where 语句,为DML(Data Manipulation Language, 数据操纵语言)。可以删table 和view 。
速度上drop > truncate > delete
from > join > on(筛选器) > where > group by(分组)
> avg (聚合函数) > having( 衰选)
> select > distinct > order by >limit(选取条数)
where和having的区别

(1)where在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会查询出来

(2)where后不可以跟聚合函数,having可以进行聚合函数的判断
注:在具体执行SQL语句中,可以用“;”、“\g”和“\G”符号表示语句结束。

以“;”、“\g”结束符作用一样,而“\G”符号除了表示语句结束外,还可以使得结果显示更美观,相当于格式化的作用。

视图:本质上是一种虚拟表,其内容与真实表相似,包含一系列带有名称的列和行数据。但是,视图并不是在数据库中以存储的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。

MySQL软件不仅对于关键字不区分大小写,对于字段数据记录也不区分大小写。

LIKE关键字,如果匹配“%%”则表示查询所有数据记录

主键、外键和索引的区别

定义:

 主键--唯一标识一条记录,不能有重复的,不允许为空

 外键--表的外键是另一表的主键, 外键可以有重复的, 可以是空值

 索引--该字段没有重复值,但可以有一个空值

作用:

 主键--用来保证数据完整性

 外键--用来和其他表建立联系用的

 索引--是提高查询排序的速度

个数:

 主键--主键只能有一个

 外键--一个表可以有多个外键

 索引--一个表可以有多个唯一索引

什么是SQL注入?(理解)

答:SQL注入攻击是黑客对数据库进行攻击的常用手段之一。一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,注入者可以在表单中输入一段数据库查询代码并提交,程序将提交的信息拼凑生成一个完整sql语句,服务器被欺骗而执行该条恶意的SQL命令。注入者根据程序返回的结果,成功获取一些敏感数据,甚至控制整个服务器,这就是SQL注入。

count(1) 与 count(*) 都表示对全部数据行的查询。count(*) 包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL ;count(1) 用1代表代码行,在统计结果的时候,不会忽略列值为NULL 。

mysql课外积累的更多相关文章

  1. 【MySQL】MySQL零碎积累

    MySQL零碎积累 ■ 在给MySQL添加新用户时可以这么操作: create user 'newUser' identified by 'password'; grant all privilege ...

  2. MySQL实战积累

    IFNULL(expr1,expr2)的用法:假如expr1不为NULL,则IFNULL()的返回值为   expr1; 否则其返回值为expr2. 索引:http://www.cnblogs.com ...

  3. MySql 命令积累

    一. 修改表的自增起点 ; 二.获取自增键值 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID ...

  4. mysql知识积累

    验证mysql工作状态 systemctl status mysql.service 启动 sudo systemctl start mysql 停止 service mysql stop 重启mys ...

  5. mysql函数积累

    group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组, ...

  6. Mysql错误积累001-load data导入文件数据出现1290错误

    错误出现情景 在cmd中使用mysql命令,学生信息表添加数据.使用load data方式简单批量导入数据. 准备好文本数据: xueshengxinxi.txt 文件  数据之间以tab键进行分割 ...

  7. MySQL 函数积累

    IFNULL(expr1,expr2) // 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值 IF(expr1,expr2,e ...

  8. mysql 语法积累

    1.把一个表中的某一列赋值到另一个表中的某一列 update sfa_token,sfa_member set sfa_token.mainid = sfa_member.mainid where s ...

  9. mysql 语句积累

    show tables; 显示表 DROP TABLE IF EXISTS emp;删除表

随机推荐

  1. 自定义HTTP消息拦截

    /// <summary> /// HTTP消息拦截器 /// </summary> public class RequestHandler : DelegatingHandl ...

  2. Linux环境下:vmware安装Windows报错误-缺少所需的CD/DVD驱动器设备驱动程序

    解决方法:将硬盘格式从SCSI改为IDE. 方法如下: 右键点击你新建的虚拟机名,点击最下面的setting,看到左侧第二行是hard disk 了么,你那里肯定是SCSI的,选中它,点最下面的rem ...

  3. Java自学-异常处理 异常分类

    Java 中异常的分类 异常分类: 可查异常,运行时异常和错误3种 其中,运行时异常和错误又叫非可查异常 步骤 1 : 可查异常 可查异常: CheckedException 可查异常即必须进行处理的 ...

  4. python爬虫---scrapy框架爬取图片,scrapy手动发送请求,发送post请求,提升爬取效率,请求传参(meta),五大核心组件,中间件

    # settings 配置 UA USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, l ...

  5. 换个语言学一下 Golang (10)——并行计算

    如果说Go有什么让人一见钟情的特性,那大概就是并行计算了吧. 做个题目 如果我们列出10以下所有能够被3或者5整除的自然数,那么我们得到的是3,5,6和9.这四个数的和是23.那么请计算1000以下( ...

  6. Microsoft SQL Server数据库语法

    目录   关于数据库的语法: 1.创建数据库 create database 数据库名on primary(主文件属性(name,filename,size等)) -用逗号隔开次要主要文件和次要文件( ...

  7. 英语insuraunce保险insuraunce单词

    English Alternative forms insuraunce Etymology From the older form ensurance, see also assurance. Pr ...

  8. JavaScript数值和字符串、特殊字符

    一.JavaScript数值 1.整数和浮点数 根据国际标准 IEEE 754,64 位浮点数格式的 64 个二进制位中,第0 位到第 51 位储存有效数字部分,第 52 到第 62 位储存指数部分, ...

  9. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  10. CentOS7.0 内核(3.10.0-123.el7.x86_64)bug导致KVM物理机重启

    一.问题描述 服务器硬件:DELL R720 系统版本:CentOS7.0 内核版本:3.10.0-123.el7.x86_64 故障现象:偶尔会重启 二.问题原因 经查看dmesg日志发现是kern ...