PHP面试 MySQL数据库基础
MySQL数据库基础
MySQL数据类型
整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT
属性:UNSIGNED
长度:可以为整数类型指定宽度,列如:INT(11)、对大多数应用是没有意义的,它不会限制值的合法范围,只会影响显示字符的个数。
实数类型:FLOAT DOUBLE DECIMAL
DECIMAL可存储比BIGINT还大的整数;可以用于存储精确的小数FLOAT和DOUBLE类型支持使用标准的浮点进行近似计算。
字符串类型:VARCHAR CAHR TEXT BLOB
VARCHAR类型用于存储可变长字符串,它比定长类型更节省空间
VARCHAR使用1或2个额外字节记录字符串的长度,列长度小于255字节,使用一个字节表示,否则用2个
varchar长度,如果存储内容超过指定长度,会被截断。、
char是定长的,根据定义的字符串长度分配足够的空间。char会根据需要采用空格进行填充以方便比较。
char适合存储很短的字符串,或者所有值都接近同一个长度
char长度,超出设定的长度,会被截断
对于经常变更的数据,CHAR比VARCHAR更好,CHAR不容易产生碎片,对于非常短的列,CHAR比VARCHAR在存储空间上更有效率只分配真正需要的空间,更长的列会消耗更多的内存
MySQL基础操作
连接数据库:mysql -u -p -h -p 用户名 密码 IP 端口
show create use drop delete select update
MySQL存储引擎
InnoDB:默认事务型引擎,最重要最广泛的存储引擎,性能非常优秀,数据存储在共享表空间,可以通过配置分开。对主键查询的性能高于其他类型的存储引擎,内部做了很多优化,从磁盘读取数据时自动在内存构建hash索引,插入数据时自动构建插入缓冲区。
通过一些机制和工具支持真正的热备份,支持崩溃后的安全回复,支持行级锁,支持外键。
MyISAM:5.1版本以前,MyISAM是默认的存储引擎。拥有全文索引、压缩、空间函数
不支持事务和行级锁,不支持崩溃后的安全恢复。表存储在两个文件,MYD和MYI,分别存储数据和索引。设计简单,某些场景下性能很好。
其他表引擎:Archive Blackhole CSV Memory
MySQL锁机制
锁是计算机协调多个进程或线程并发访问某一些资源的机制。
共享锁(读锁)/排它锁(写锁)
读锁:针对同一份数据,多个读操作可以同时进行而不会互相影响
写锁:当前写操作没有完成前,它会阻断其他线程对当前数据的修改和读取。
MySQL事务处理、触发器
事务:原子性----一组操作,要么全部执行成功,要么全部都不执行。
隔离性----在所有的操作没有执行完毕之前,其他会话不能够看到中间改变的过程。
一致性----事务发生前和发生后,数据的总额依然匹配
持久性----事务所执行的结果不能撤销
start transaction;开启事务
要执行的SQL语句
Commit 提交
rollback 回滚
当一个事务提交或回滚之后就结束事务。
触发器:监视某种情况并触发某种操作
Create trigger triggerName
After/before insert/update/delete on 表名
For each row #这句话是固定的
Begin
Sql语句; # 一句或多句,insert/update/delete范围内
End;
删除触发器的语法:
Drop trigger 触发器名
查看触发器
Show triggers
PHP面试 MySQL数据库基础的更多相关文章
- php面试专题---15、MySQL数据库基础考察点
php面试专题---15.MySQL数据库基础考察点 一.总结 一句话总结: 注意:只写精品 1.mysql定义int(3),那么我存1234就错了么? 不是:无影响:只会影响显示字符的个数:可以为整 ...
- mysql数据库基础的简单操作指南
最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...
- MySQL数据库基础
MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
- Mysql数据库基础操作
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
- mysql数据库基础-2019-9-10(随堂笔记)
mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ...
- MySQL数据库--基础简述
MySQL数据库--基础简述 1.15.1 MySQL简介 Mysql是最流行的RDBMS(Relational Database Management System:关系数据库管理系统),特别是在W ...
- MySQL数据库基础知识及优化
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...
- 26.MySQL数据库基础
MySQL数据库基础 目录 MySQL数据库基础 数据库的概念 数据 表 数据库 数据库的管理系(DBMS) 数据库系统 访问数据库的流程 数据库系统发展史 当今主流数据库介绍 关系数据库 关系数据库 ...
随机推荐
- Bootstrap Date Range Picker
var optionSet1 = { startDate: moment().subtract(29, 'days'), endDate: moment(), minDate: '12/21/2012 ...
- 兼容ie浏览器的方法
让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在chrome,f ...
- “希希敬敬对”队软件工程第九次作业-beta冲刺第三次随笔
“希希敬敬对”队软件工程第九次作业-beta冲刺第三次随笔 队名: “希希敬敬对” 龙江腾(队长) 201810775001 杨希 201810812008 何敬 ...
- mybatis关联查询之一对多查询
一对多,是最常见的一种设计.就是 A 表的一条记录,对应 B 表的多条记录,且 A 的主键作为 B 表的外键.这主要看以哪张表为中心,下面的测试数据中,从employee 表来看,一个员工对应一个部门 ...
- python内存管理及垃圾回收
一.python的内存管理 python内部将所有类型分成两种,一种由单个元素组成,一种由多个元素组成.利用不同结构体进行区分 /* Nothing is actually declared to b ...
- hashlib加密模块,加密方式:(MD5,sha级别)
三,hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一 ...
- JavaScript 事件——“模拟事件”的注意要点
DOM中的事件模拟 三个步骤: 首先通过document.createEvent()方法创建event对象,接收一个参数,即表示要创建的事件类型的字符串: UIEvents(DOM3中的UIEvent ...
- 【记录】iconfont 批量把图标加入购物车的方法
iconfont 是阿里旗下很好用的图标管理网站(https://www.iconfont.cn/),里面有百万个小图标,可以随意下载切换颜色,是很多前端人员的选择. 但是网站没有将图标批量加入购物 ...
- org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query
原因: 这个问题的解决方案很简单,主要是因为数据库中不存在相关的表或者列. org.springframework.dao.InvalidDataAccessApiUsageException: Pa ...
- 发布并开源自己的一款 基于.Net 4.0 及 netstandard2.0 的 ORM 框架
这款ORM框架的原版在经历过大概十几个项目的磨合,最近整理了一下,原名字为:ZhCun.Framework ,该框架辗转跟了我去过几家公司,大概从2012年出现第一个版本,当时就为简化数据库操作,从优 ...