mysql的一些理论知识
主键(primary key)
用于仅有地标识表中的每一条记载 能够界说表中的一列或许多列主键。A8站源码交易平台主键列上不能有两行相同的值,也不能为空值
sql言语
对数据库进行查询和修正的言语叫SQL言语,结构化的查询
ANSI(美国国家规范组织) SQL-92
经过92修正往后99年推出SQL-99
(1)数据界说言语ddl(data definition language):drop create alter等句子(增修正)
(2)数据操作言语dml(data manipulation language):insert update delete句子(增修正)
(3)数据查询言语dql(data query language):select(查询)
(4)数据操控言语dcl(data control language):grant revoke commit rollback等句子
mysql的优势
1.开源:免费
2.速度:运转速度快
3.简单运用:和其他大型数据库比较杂乱程度较低,便利学习
4.可移植性:能在不同渠道进行作业,比方window Linux unix
5.接口丰厚:c,c++,python,php,ruby,java都有相应的api接口
6.支撑查询言语;MySQL能够运用规范sql语法支撑ODBC的应用程序
7.安全性和连续性:十分灵敏的权限和暗码体系,答应根据主机的验证。链接到服务器时,一切的暗码选用加密方法,确保暗码安全。A8站源码交易平台且能够在任何有网络的当地直接经过账户暗码拜访数据库,A8站源码交易平台进步数据同享功率。
mysql的几个有用端
MySQL后台程序:
mysqld:mysql发动程序
mysqld_safe:unix下发动mysql的发动脚本
mysql_multi:发动封闭脚本能够敞开和封闭多台MySQL服务器
myisamchk:用来检查,保护和优化Myisam表的东西
mysqlbug:mysql的缺点陈述脚本
mysql.server 服务器发动脚本,用于运用特定等级的,运转发动服务的脚本,运转目录的体系。掉哟个mysqld_safe发动MySQL服务器
mysql_install_db:用于给MySQL进行初始化,通常在初次装置MySQL运用,用于设置日志等配置文件的寄存方位
myisampack:紧缩myisam表发生更小的只读表的东西
mysql:交互式输入sql句子或许从文件以批处理的方法履行文件的命令行东西
mysqlaccess:检测拜访的主机名用户名数据库组合权限 检测权限的脚本
mysqladmin:更改咱们MySQL的暗码,履行各类办理操作,删去创立数据库,重载授权表,改写日志,检索版别号,进程号以及服务器状况。
mysqlbinlog:检查二进制日志,能够用日志来康复数据库数据
mysqlcheck:用于检查修正剖析以及优化表的客户端程序
musqldump:将咱们的数据库备份到指定的目录傍边
mysqlhotcopy:当咱们的MySQL处于运转过程中快速备份myisam表的东西
mysqlshow:显现数据库,表,列以及索引等相关信息的客户端程序
perror:显现体系错误代码意义的东西
MySQL中各个默许数据库
information schema : 信息数据库 贮存关于MySQL服务器所保护的一切其他的数据库的信息。
mysql : 寄存数据库的用户,权限设置,关键字等mysql自己需求运用的操控和办理信息。
performance_schema : 首要用于搜集数据库服务器功用 只在5.5版别之后才有
数据库存储引擎
数据库存储引擎归于数据库底层软件组件,数据库办理体系运用数据引擎进行创立。查询,更新和删去数据的操作。
innodb:
(1)业务性数据库首选引擎,支撑行等级确定和外键,运用业务安全形式创立表。且为mysql5.5版别之后默许存储引擎
(2)具有对业务的提交,回滚,溃散才能的业务安全存储引擎,能够处理巨大的数据量,功用功率高。支撑外键
(3)具有十分高效的缓存功用,能缓存索引也能缓存数据,对硬件要求较高。
(4)运用innodb时,将在mysql目录下创立一个姓名较ibdatal的10MB主动扩展文件,以及两个名为ib_logfile0和ib_logfile1的5MB巨细的日志文件。
innodb运用场景
(1)运用业务时选取innodb,高并发时运用innodb
(2)数据更新较为频频的场景 比方微博。
(3)数据一致性要求较高的业务,比方转账。
memory:
(1)memory存储引擎将数据存储到内存中,供给快速拜访
(2)支撑hash和btree索引,不支撑blob和text列,支撑auto_increment列和对可包括null值的列的索引
(3)不运用memory表时,直接删去表或许清空表数据能够开释空间。
myisam:
(1)myisam读取速度较快,占用资源相对较少,不支撑业务,不支撑外键,支撑全文索引.空间索引
(2)myisam读写相互堵塞
(3)myisam只能缓存索引,不能缓存数据。
myisam运用场景
(1)不需求业务的业务
(2)适用于读取较多的业务,不适用与写数据较多的业务
(3)并发较低、数据修正少的业务
(4)硬盘资源较差能够挑选适用myisam
检查一切的引擎的语法:show enginesG (G是用于把成果更简练更直观的显现出来)
transactions:当时存储引擎是否支撑业务
XA:是否支撑分布式
savepoints:是否支撑保存点
show variables like ‘storage_engine’;检查默许的存储引擎
不同的存储引擎功用不同,占用的空间不同,读取的功用不同
A8站源码交易平台
