
mysql
治荣
这个作者很懒,什么都没留下…
展开
-
mysql修改用户密码以及文件配置
原创 2019-01-18 21:21:52 · 2071 阅读 · 0 评论 -
mysql编程 mysql中的变量 (存储)函数 存储过程 创建方法错误ERROR 1418 (HY000): This function has none of DETERMINISTIC
mysql中的变量:mysql中,有两种变量形式:普通变量: 不带“@”符号;定义形式: declare 变量名 类型名 【default 默认值】; //普通变量必须先这样定义赋值形式:set 变量名 = 值;取值:就直接使用变量名;使用“场所”:只能在“编程环境”中使用;什么是编程环境?只有3个:1,定义函数的内部;2,定义存储过程的内部;3,定义触发器...原创 2019-02-05 19:23:46 · 457 阅读 · 0 评论 -
mysql 触发器(trigger)
含义:触发器,也是一段预先定义好的编程代码(跟存储过程和存储函数一样),并有个名字。但:它不能调用,而是,在某个表发生某个事件(增,删,改)的时候,会自动“触发”而调用起来。定义形式:create trigger 触发器名 触发时机 触发事件 on 表名 for each row asbegin//这里,才是编程的位置,也就是触发器的内部语句end;说明...原创 2019-02-05 19:41:45 · 249 阅读 · 0 评论 -
视图创建,使用,删除
视图的创建语法:语法形式:create view 视图名 【(字段名1,字段名2,字段名3,…)】 as select语句;举例:create view v1 asselect id, f1, name, age, email, p_id, f3 from 表1 where id > 7 and id < 100 or f1 <...原创 2019-01-29 15:37:16 · 529 阅读 · 0 评论 -
mysql 2表查询,3表查询
学生表院系//2表查询:1)查出“计算机系”的所有学生信息。 //方法1:select * from 学生表 where 院系ID = ( select 院系ID from 院系 where 院系名称='计算机系')//方法2:select 学生表.* from 学生表 inner join 院系 on 学生表.院系ID=院系.院系ID where 院系名称='...原创 2019-02-07 21:27:30 · 1165 阅读 · 1 评论 -
mysql查看存储过程函数 查看存储过程或函数的创建代码 查看视图 查看触发器
查询数据库中的存储过程和函数select `name` from mysql.proc where db = 'xx' and `type` = 'PROCEDURE' //存储过程select `name` from mysql.proc where db = 'xx' and `type` = 'FUNCTION' //函数show procedure status; //存储过...原创 2019-02-08 12:08:30 · 570 阅读 · 0 评论 -
表间关系
表间关系是什么?表与表之间的关联,A表中的一条记录对应到B表中有多少条?B表中的一条记录对应到A表中有多少条?有哪些?A:B 1:1 B:A 1:1 -> 一对一A:B 1:N B:A 1:1 -> 一对多A:B N:1 B:A 1:1 -> 多对一A:B 1:N B:A 1:N ->多对多一对一比较少见。多对多是最难的如何表示一对多的...原创 2019-03-08 14:17:59 · 297 阅读 · 0 评论 -
where和having使用区别:
having设置查询条件的效果 与 where使用效果类似区别:where:语句条件字段,必须是“数据表中存在的”字段having:语句条件字段 必须是查询结果集中存在的字段where和having使用区别:...原创 2019-03-20 18:09:49 · 254 阅读 · 0 评论 -
count(*)和count(字段)的区别
在mysql,统计函数有 5 个:count、max、min、avg、sum注意,count() 和 count(字段)对于count()而言,只要有记录,就被纳入统计对于count(字段),如果该字段的值为null,则不会纳入统计。...原创 2019-03-12 16:00:20 · 1418 阅读 · 0 评论 -
关于连表查询时遇到相同字段以后面字段信息为主产生的错误
有一个致命的逻辑错误,如果某个类型下没有属性,则它的type_id为空。相同字段都叫type_id,但是后面那个字段里面的值是空的说明一个很重要的编写sql的原则:尽量不要使用*。不要使用*,可以提高查询效率,节省资源避免出现逻辑错误所以,最终我们的sql语句如下:对应的在模型中,也需要修改关于inner join 和left join的选择,我是选inner join 还是...原创 2019-03-12 16:10:55 · 506 阅读 · 0 评论 -
Mysql数据库优化 innodb Myisam优劣对比 字段类型选择 索引index ()类型 执行计划explain 适合场景 索引覆盖 索引原则)
1.优化概述存储层:存储引擎、字段类型选择、范式设计设计层:索引、缓存、分区(分表)架构层:多个mysql服务器设置,读写分离(主从模式)sql语句层:多个sql语句都可以达到目的的情况下,要选择性能高、速度快的sql语句2. 存储引擎什么是存储引擎:我们使用的数据是通过一定的技术存储在数据库当中的,数据库的数据是以文件形式组织的硬盘当中的。技术不只一种,并且每种技术有自己独特的性能...原创 2019-05-08 22:12:33 · 441 阅读 · 0 评论 -
mysql 分表/分区
一个数据表里边可以存储许多记录信息,如果一个数据表里边存储的数据非常多(例如 淘宝商城 的商品表),这样该商品表的相关工作量就很多(数据的增、删、改、查)负载(工作量)高到一定程度,会造成把表锁死的情况发生。为了降低商品表的负载/工作量,可以给该表拆分为多个数据表。这样每个数据表的工作量会有多降低。Mysql5.1版本之后就支持分表分区的设计。宏观拆分可以如下:Goods数据表需要拆分:...原创 2019-05-26 21:09:07 · 203 阅读 · 0 评论 -
索引
1.索引设计依据要估算每个数据表全部的查询sql语句类型分析、统计每个sql语句的特点(where/order by/or等等)原则: ① 被频繁执行的sql语句要设置② 执行时间比较长的sql语句(可以统计)③ 业务逻辑比较重要的sql语句(例如支付宝2小时内答应返现的业务逻辑)2.前缀索引设计索引的字段,不使用全部内容,而只使用该字段前边一部分内容。如果字段的前边N位的信息已...原创 2019-05-23 13:16:02 · 137 阅读 · 0 评论 -
mysql编程 mysql编程中语句块包含符,流程控制语句
mysql编程中语句块包含符:其实就是相当于js或php中大括号语法:[标识符:]begin //语句。。。。end [标识符];标识符就是定义定义的任意的名字而已,比如:if (条件判断) begin //。。。。 end;end if;if (条件判断) A:begin //。。。。 end A;end if;A就是标识符,它的作用是“标识...原创 2019-02-05 16:17:43 · 1871 阅读 · 0 评论 -
事务 什么叫做“事务” 事务的特点 事务模式 事务执行的基本流程cmd和php中执行事务
什么叫做“事务”:想象一个场景:小明给小花 汇款 5000元 买 IPHONE,操作界面不用管,不管什么操作界面,最终都要落实到这样两条语句的执行:update 存款表 set money = money - 5000 where 账户=’小明’;update 存款表 set money = money + 5000 where 账户=’小花’;当,第一条语句执行成功...原创 2019-02-05 14:33:56 · 426 阅读 · 0 评论 -
数据控制语言(对mysql的用户及其权限进行管理),创建用户,删除用户,修改用户密码,权限管理,授予权限,剥夺权限,查看用户权限
数据控制语言数据控制语言,是用于对mysql的用户及其权限进行管理的语句;用户管理用户数据所在位置:mysql中的所有用户,都存储在系统数据库(mysql)中的user 表中——不管哪个数据库的用户,都存储在这里。表初始内容如下:创建用户:形式:create user ‘用户名’@’允许登录的地址/服务器’ identified by ‘密码’;说明:1,允许登录...原创 2019-02-05 14:08:59 · 796 阅读 · 0 评论 -
MySQL登录和退出——在CMD模式操作
1、登录到MySQL服务器语法格式:mysql.exe –h主机名 –u用户名 –p密码参数说明:mysql.exe是mysql服务器的主应用程序。-h代表MySQL数据库主机名(MySQL数据库端口号3306)。如:localhost或127.0.0.1-u代表MySQL用户名。如:root-p代表MySQL密码。如:root注意:各个参数之间用空格隔开。举例:mysql –hl...原创 2019-01-15 15:27:28 · 1435 阅读 · 0 评论 -
MySQL数据库操作 显示数据库 创建数据库 删除数据库 查看数据库的字符集 显示表 创建表 表选项 删除表 修改表,显示表结构,批量导入外部sql文件
1、显示数据库语法:SHOW DATABASES;2创建数据库语法格式:CREATE DATABASE [IF NOT EXISTS] db_name [CHARSET utf8]参数说明create database是系统命令。IF NOT EXISTS 是可选项。是一个条件判断。如果不存在,则创建数据库。db_name:是自定义的数据库名称。数据库名称的命名规则,与PHP变量...原创 2019-01-15 15:51:55 · 602 阅读 · 0 评论 -
MySQL数据类型
1、整型浮点型(1)整型tinyint 最小型整数 0-255(-128 ~ +127) 1个字节smallint 小型整数 0-65535 2个字节mediumint 中型整数 0-1677万 3个字节int 一般整数 0-21亿 4个字节bigint 最...原创 2019-01-15 16:09:15 · 225 阅读 · 0 评论 -
增加记录 删除记录 修改记录 查询记录 显示数据库 删除数据库
1、SQL简介SQL(Structured Query Language)结构化查询语言。SQL就是操作数据的一种语言。2、增加记录语法格式:INSERT INTO table_name(字段1,字段2,字段3,…) VALUES(值1,值2,值3,…)语法说明INSERT INTO是添加数据的SQL命令。table_name要添加的数据表。表的字段列表,要与值的列表,一一对应。...原创 2019-01-15 16:22:58 · 721 阅读 · 0 评论 -
Mysql中文乱码问题完美解决方案
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!utf8可以兼容世界上所有字符!!!一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候:CREATE DATABASE ...原创 2019-01-15 18:26:44 · 194 阅读 · 0 评论 -
PHP+MySQL数据库编程的步骤
第一步:PHP连接MySQL服务器第二步:选择当前要操作的数据库第三步:设置请求或返回的数据的字符集第四步:执行各种SQL语句。PHP连接MySQL服务器1、mysql_connect()描述:PHP连接MySQL服务器。语法:resource $link = mysql_connect($hostname,$username,$password)//$hostname:是MyS...原创 2019-01-15 20:09:03 · 2785 阅读 · 0 评论 -
select查询的完整模式
select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];字段或表达式列表每个“输出项”(字段或表达式结果),都可以给其设定一个“别名”(字段别名)形式为:字段或表达式 as 别名;注意:实际上,表的字段并没有改变,而只是改变了“结果集”的字段名...原创 2019-01-31 14:32:45 · 1118 阅读 · 0 评论 -
数据库的备份和恢复
备份:就是将一个数据库,完整地“转换为”一个可以随时“携带和传送”的文件。语法:mysqldump -h服务器地址 -u登录名 -p 数据库名 &gt; 文件名恢复: 就是讲一个备份的数据库文件,完整地还原为一个可以使用的数据库。语法:mysql -h服务器地址 -u登录名 -p 数据库名 &lt; 文件名注意:1,这两个命令,都是在“没有登录mysql”的...原创 2019-01-28 11:28:05 · 1213 阅读 · 0 评论 -
mysql语法:注释,修改结束符号,命名问题
注释:有如下3中注释:1, 单行注释: #注释内容2, 单行注释: – 注释内容(注意:–后面有一个空格)3, 多行注释: /* 注释内容*/语句行:默认情况下,以一个英文分号作为一条语句的结束!而且,常规的操作中,都是“一次执行一条语句”;但:mysql中,可以可以人为设定语句结束符,做法如下:delimiter 新的结束符此行之后 ,就可以使用新的结束符...原创 2019-01-28 11:46:14 · 980 阅读 · 0 评论 -
连接查询
基本概念:就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;到底怎么连接?将每一个表的每一行数据两两之间相互对接起来,每次对接的结果都是连接结果的“一行”数据;然后,将他们进行“连接”:他们其实这样这样的方式连接起来的结果数据:这种没有条件的连接,也可以写成这样:select * from 表1, 表2;select * from 表1 ...原创 2019-02-02 12:28:33 · 159 阅读 · 0 评论 -
子查询
基本含义一个select语句,就是一个查询语句:select 字段或表达式 from 数据源 where XX 条件判断;上述select部分,from部分,where部分,往往都是一些“数据”或数据的组合;比如:from部分,当然就是“表”,或“表的连接结果”,他们也是数据,只是通常为“表数据”;则,这些数据部分,也可以通过一种“预先”的查询结果来代替,比如:如果将...原创 2019-02-02 18:25:53 · 237 阅读 · 0 评论 -
索引建立
索引是系统内部自动维护的隐藏的“数据表”,它的作用是,可以极大地加快数据的查找速度!这个隐藏的数据表,其中的数据是自动排好序的,其查找速度就是建立在这个基础上。索引类型有如下几个:普通索引: 形式: key(字段名)含义: 就是一个索引而已,没有其他作用,只能加快查找速度;唯一索引: 形式: unique key(字段名)含义: 是一个索引,而且还可以设定其字段的值不能重复(唯一性...原创 2019-01-29 14:05:44 · 213 阅读 · 0 评论 -
Mysql优化
1.大量写入记录信息保证数据非常快地写入到数据库中insert into 表名 values (),(),(),();以上一个insert语句可以同时写入多条记录信息,但是不要写入太多避免意外情况发生。可以一次少写一些,例如每次写入1000条,这样100万的记录信息,执行1000次insert语句就可以了。分批分时间把数据写入到数据库中。以上设计写入大量数据的方法损耗的时间:写入数据...原创 2019-05-30 18:17:43 · 159 阅读 · 0 评论