百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

重蔚自留地——mysql核心知识要点,这个你必须要会

toyiye 2024-06-21 12:15 10 浏览 0 评论

整体知识介绍:mysql基本操作和使用,mysql优化(索引,分表等),mysql部署(读写分离,负载均衡等)

数据库基本介绍:数据库概念,常用数据库,web应用三大软件分工,PHP动态语言特点(处理数据),数据的存放(脚本运行时和执行完毕),数据库系统

关系型数据库:概念(关系+二维表),教学系统实例,常见关系型数据库,关系型数据库特点(所有数据相同结构,没有数据也分配存储空间)

非关系型数据库:键值对型,常见非关系型数据库,非关系型数据库特点(内存运行,硬盘同步)

关系型数据库典型概念:行row(记录record),列col(字段field),SQL(概念,DDL,DML(DML+DQL),DCL)

Mysql基本介绍:mysql软件介绍(c/s结构),mysql操作步骤,客户端的工作,mysql单独安装,mysql目录及文件介绍,mysql服务端管理(服务和mysqld.exe),客户端连接服务端(连接认证,执行sql,退出)

Mysql数据对象:mysql服务器à数据库à数据表à字段

基本SQL操作:库操作(create[if not exists][charset,collation],库文件夹介绍,数据库命名规则,特殊名字处理;show[like pattern],通配符,查看库创建语句;drop;alter),表操作(表与字段的依赖性;create [engine,charset],表文件分析,表与库的关系,保留字冲突,从已有表创建[like];show[like pattern],查看表字段[desc/describe/show columns from tb_name],查看表创建语句;drop;alter [操作add/drop/modify/change][位置first after],rename to重命名;数据操作(insert into省略字段和选择字段;select from[where条件],=比较;delete from[where];update set[where];删除和更新不可逆)

字符集:快速解决问题(set names),字符集,mysql字符集(数据存储,数据传输),数据存储字符集(服务器端,库,表,字段,图解),字符集优先级(字段à表à库à服务器端),数据传输过程字符集(图解(客户端clientà连接层connectionà服务器à客户端result),character_set变量,set names分析)

校对集:字符比较(ASCII比较),校对集工作(查看show collation),校对集设置(表选项中collate=校对集),校对集命名规则(_bin二进制,_ci[case insensitive],_cs[case sensitive]),utf8&gbk(utf8不支持中文比较,gbk支持拼音)

存储引擎:概览mysql存储引擎,主要引擎[InnoDB和MyISAM],引擎的未来发展,引擎区别(MyISAM[查询和新增,全文索引],InnoDB[更新和删除,事务,5.5之后全文索引],文件区别)

乱码问题解决:作图(浏览器—PHP--mysql)

字段(列)类型:mysql数据类型(数值型,字符串型,日期时间型),数值类型(整型[tinyint,smallint,mediumint,int,bigint],显示宽度,0填充,无符号;浮点型[float,double],语法float(M,D),浮点支持科学计数法;定点数[decimal(M,D)],定点与浮点的存储方式区别),字符串类型(char(L);varchar(L);text;char与varchar比较表,mysql记录总长限制,文本不受限制;枚举enum[值存储,2字节,单选,方便插入[数值或者字符串],从1开始];集合set[存储方式二进制,多选,8字节];二进制文本),日期和时间类型(datetime[格式,8字节存储,时间跨度9999];date[];time[时间间隔];year[1字节存储,跨度1900-2155或70-69];timestamp[标准整型存储,表现与datetime一致])

列属性(约束):NULL(概念[与PHP不同],语法NULL/NOT NULL),默认值(default,用法,插入数据时使用default关键字),键(主键[primary key,唯一标识,设计表图解,主键优势,主键语法包括建表和修改,删除主键];唯一键[unique key,优点,增加包含建表时和修改表结构,删除唯一键平[只能通过删除索引方式]]),自动增长(auto_increment,常用主键ID),注释(comment,SQL通用注释语法[--空格,#,/*块注释*/])

关系:关系分类(1:N[学生与班级对应关系,设计];M:N[教师与班级对应关系,设计];1:1[学生与学生关系])

外键(约束):外键(foreign key,学生与班级关系,外键功能,外键定义[外键(逻辑上),外键约束(语法上)],增加外键[创建表时和修改表结构],约束作用,删除约束[约束名],增加约束名[constraint],约束对应的索引),外键约束(主表和从表,约束操作[严格控制restrict,置空set null,级联cascade],约束范围[删除和更新],外键支持[InnoDB,类型严格一致,置空操作字段必须可以为空])

范式:范式定义(Normal Format),范式等级(1到6),数据库范式(满足到第三等级),1NF(原子性),2NF(部分依赖,复合主键),3NF(传递依赖),范式有点(通用,减低数据冗余),逆规范化(设置必要数据冗余,效率与磁盘空间的对抗)

高级数据操作:插入数据(选择插入[insert into tb_name select子句],主键冲突[insert into … on duplicate key update],替换插入[replace into]),删除数据(搭配orderby和limit,清空表[truncate],delete与truncate区别),修改数据(搭配orderby和limit),查询数据(select选项[all和distinct],字段列表[表达式,字段别名],from子句[多表,表别名,虚拟表dual],五子句[where,group by,having,order by,limit]),where子句(操作流程,mysql布尔类型和值,表达式[关系运算符 =,in和not in,between and和not between and,is null和is not null;逻辑运算符;like运算符,通配符;运算符优先级]),group by子句(分组统计,合计函数[count(对非空字段统计),max(),min(),sum(),avg()],grou_concat(字段)[分组专用字段连接],group by[排序asc|desc],多字段分组,回溯统计[with rollup]),having子句(与where功能相似,可以使用字段别名,可以使用合计函数,与where操作数据不同),order by子句(排序,多字段排序),limit子句(限制记录数,指定索引位置,分页)

联合查询:联合查询(union,结果间联合,条件简化,union选项[all和distinct],字段数量一致类型无所谓[原因,var_dump看结果],union的select子句分别排序[子句需要括号,需要配合limit])

连接查询:概念,连接分类(内连接[inner join [on],参与连接数据都必须存在,where替代on,默认连接方式,连接原理,where与on的区别,using去重],外连接[left/right join on,参与连接的数据有对应不上[左外保留左表数据,右外保留右表数据],full全外mysql不支持,on和using使用],交叉连接[内连接的无条件模式],自然连接[natural [left/right] join,相当与其他连接使用using,不能使用on])

子查询:子查询概念,功能,子查询分类(位置分类[where,from,exists],返回形式分类[标量子查询[单一值,用于比较],列子查询[配合in和not in,any,all和some],行子查询[使用括号语法构建行],表子查询[典型from子查询]])

视图:概念(虚拟表),视图作用(查询数据,提供接口,隐藏真实数据),视图管理(创建[create view as select子句],删除视图[drop view],修改视图[alter view v_name as select子句],查看视图[show create view v_name,查看视图字段,查看视图创建语句],视图算法[概念,合并算法merge,临时表temptable,未定义undefined,视图指定算法[create algorithm=temptable view]])

数据备份还原:导出(select into outfile ‘路径’,导出文件不能重名,字段分隔符[fields terminated by,enclosed by,escaped by],记录分隔符[lines terminated by/starting by],导出文件编码),导入(load data infile ‘路径’ into table tb_name 选项)

数据备份:MyISAM备份,mysqldump(mysqldump客户端,语法,表备份[库 表 表/ -b 库],数据库备份),还原(source,mysql库名 表名 < sql文件)

事务:事务目的,事务操作(开启[start transaction],提交[commit],回滚[rollback],回滚点[savepoint name,rollback to name]),事务基本原理(mysql执行SQL方式[执行+提交],默认自动提交autocommit),事务安全日志(保存事务执行中间结果ib_logfile,InnoDB支持事务),事务特点ACID(原子性[Atomicity,事务是整体],一致性[consistency,事务前后数据完整性一致],持久性[事务一旦提交,数据改变永久],隔离性[isolation,多用户并发互不干扰,相互隔离])

触发器:概念,语法(创建[create trigger t_name 事件时机 事件类型 on 表 for each row],事件时机[before,after],事件类型[insert,delete,update],mysql不支持在同一事件上创建多个出发程序;删除[drop trigger t_name];获取触发程序相关记录[old,new],分支结构[if 条件 then 代码 end if],多语句[begin,end],语句结束符)

变量:系统变量,自定义变量(set,使用变量,select into,变量赋值符[:=]),变量有效期,变量作用域

SQL函数:内置函数(substring,char_length,length,instr,lpad,insert,strcmp),自定义函数(概念,函数要素[函数名,参数列表,函数体,返回值],语法[创建create function f_name(参数列表) returns 返回值类型],调用函数[select f_name(参数)],分支结构,循环结构[标签],内部定义变量[全局变量@var,局部变量declare var],中断(leave,iterate))

存储过程:概念,与函数的区别,语法(创建[create procedure pr_name(过程参数in out inout)],过程参数类型,过程调用call)

Mysql用户管理:root密码忘记(重装,mysql管理用户的表user),重置root密码(带参数重启服务[--skip-grant-tables],无密码登录,修改用户表root密码[update set],加密算法[sha1,md5,password(),重启]),普通用户管理(创建用户[create user user_name[ identified by ‘密码’],用户名形式[username@host]],删除用户[drop user username@host]),设置用户权限(添加[grant 权限列表 on 表名 to 用户],权限列表,表名表示方法,特殊权限[all privileges],刷新缓存[flush privileges,flush tables],删除用户权限[revoke 权限列表 on 表名 from 用户])

索引:概念,mysql索引类型[主键索引,唯一索引,全文索引,普通索引,复合索引]

PHP操作mysql:PHP变身客户端,开启该扩展,典型扩展(mysql,mysqli,pdo-mysql),libmysql.dll(连接服务提供者),查看mysql是否加载(PHPinfo),PHP操作mysql(连接认证mysql_connect(),准备和发送sql语句mysql_query,处理执行结果mysql_fetch_assoc(),释放资源[结果集],关闭连接mysql_close()),mysql_query(mysql_query返回值[布尔型,结果集],有返回值的语句[select,show,desc],没有返回值的语句[insert,update,delete ,DDL]),其他常用函数(mysql_errno(),mysql_error(),常见处理方式,mysql_fetch_array(),mysql_fetch_row()的区别,mysql_data_seek(),Mysql_affected_rows,Mysql_insert_id)

功能:注册成功跳转,分页(一次性,limit)

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码