随笔分类 - Mysql
摘要:预处理 预先处理(准备好),让DBMS先对重复执行的SQL语句进行预先的编译。之后,再调用编码好sql,同时传递数据。 第1步:准备预处理 语法: prepare 预处理名 from 'sql语句'; 示例: 第2 步:执行预处理 语法: execute 预处理名; 预处理的使用: 1、固定的sql语句,如上例 2、变化的 占位符? 占位符主要用于表示sql语句中动...
阅读全文
摘要:权限管理 创建用户 语法: create user '用户名'【@'主机名'】【identified by '密码'】; 示例: 说明: 用户名必须使用引号 '主机名'可以是以下几种: ip表示只允许新创建的用户在指定ip上登陆 localhost表示只允许新创建的用户在服务器上登陆 %表示...
阅读全文
摘要:存储过程 将完成某一功能的多个步骤存储起来,达到一次定义多次调用。 就是没有返回值的函数。 创建 第1步:更改结束符 第2步:创建过程 create procedure 过程名(方向 参数1 类型,方向 参数2 类型...) begin -- 过程体 end; 第3 步:还原结束符 形参的方向: ins out inout 示例: 查看...
阅读全文
摘要:流程控制 分支结构 if分支结构 语法: if 条件then -- 语句体 else -- 缺省语句体 end if; 示例: 循环结构 while循环 语法: while 表达式 do -- 循环体 end while; 示例: 需一个数的累加和 注意: 对任何变量的更改必须使用s...
阅读全文
摘要:函数 MySQL函数分为系统函数与自定义函数 系统函数: pow(m,n)求m的n次方 rand()随机获取0至1之间的小数 floor();向下取整 ceil();向上取整 sqrt()平方根 自定义函数 第1步:修改结束符 delimiter 结束符; 第2 步:定义...
阅读全文
摘要:触发器 触发器的器就是绑定一组SQL语句,触发器的触发就是在某一时刻,某一对象,的某个范围上发生某一事件时,执行触发器绑定的那一组SQL语句。 某一时刻:before、after 某一事件:insert、update、delete 某一对象:某个表 某个范围:记录或表 一个表上最多可以设置6个触发器 创建触发器 语法: 第1步:更改结束符 delimiter 符号 第2步:定义触发器 ...
阅读全文
摘要:变量 MySQL是一门编程语言。所以存在变量、流程控制、函数、存储过程、触发器 MySQL分系统变量,与自定义变量 MySQL的某些功能是通过系统变量来实现的。例如:autocommit 查看系统变量: show variables【like 'pattern'】; 查看系统变量的值: select @@系统变量名; 两个@@的为系统变量 一个@ 的为自定义变量 不带@ 的为字段 设置系统...
阅读全文
摘要:事务 事务的本质就是延缓SQL语句对数据库的数据的更改 现实中的事务,可能由多个步骤来完成,事务的成败,必须由多个步骤来同时决定。MySQL是解决现实的问题,现实中的事务成败,反应到MySQL中的也由多个步骤(SQL语句)组成,事务的成败就由多个SQL语句共同决定。 示例: 银行转账 现实中的一件事:用户A向用户B转100 MySQL中 1、A帐户减少钱 ...
阅读全文
摘要:重置管理员密码 1、关闭mysql 2、开启mysql,跳过授权表mysql服务 提示:如果此步骤操作成功,那么任何用户登陆MySQL都不需要用户名与密码 保持此窗口不能关闭 3、重新cmd,登陆 mysql 4、更改root用户的密码 5、关闭第2步中打开的cmd窗口。 6、结束任务管理器中的mysqld进程 7、开启mysql服务 8、登陆
阅读全文
摘要:数据备份 MySQL数据备份 1、文件备份 备份数据库的数据文件, innodb.frm与ibdata1文件。 myisam 优点: 简单 缺点: 浪费磁盘空间。 2、sql备份 mysqldump -uroot -p 【数据库名】【表名】 > 目录路径; 备份的sql语句。 备份示例: 恢复示例: 示例: 3、数据备份 ...
阅读全文
摘要:联合查询 union联合查询 语法: select 语句 union 【all|distinct】 select 语句; 示例: 特点: 条件:两表的查询出来的字段数目必须相同 字段上会不会进行拼接 只有在记录上对两个表查询出来的结果进行联合。 【all|distinct】 all显示所有的记录,包含重复 distinct...
阅读全文
摘要:存储引擎 引擎:驱动车辆运行的动力。 存储引擎:驱动数据库进行数据存储的方式。 MySQL支持以下存储引擎。 需要了解的:MyISAM、InnoDB MyISAMMySQL早期版本默认的存储引擎 不支持事务 不支持外键 InnoDBMySQL5之后版本的默认的存储引擎 当创建一个表时,会在data目录内与表所在的数据库同名的目录内创建.frm文件...
阅读全文
摘要:视图(view) 视图:视图主要体现在供用户查看,至数据的存储与视图无关。 视图就是存储sql语句。 MySQL视图就是一种虚拟表,实际数据的存储是产生视图的sql语句的基表中。 对基本中数据的更新,会即时返回到视图。 创建视图: create view 视图名 as select语句; 示例: create view vw as select * from stu; ...
阅读全文
摘要:子查询 一个select中还包含另一个select,其中最里面的select语句称之为子查询 根据select出现的位置可以将子查询分为以下几类: from子查询 where子查询 exists子查询 从select返回的结果,那么子查询又可以分为: 标量子查询 查询的结果只有一个值。 示例: 需求:查询zhangsan所在的教室 思路: 首先,先写最终想得到查询==》...
阅读全文
摘要:外键 创建: 方式1:在创建表时使用foreign key(字段名) references 表名(主键); 方式2:通过修改表结构add foreign key(字段名) references 表名(主键); 删除: alter table 表名 drop foreign key 外键名; 如果查看
阅读全文
摘要:高级操作 复制表结构 语法: create table 表B like 表A; 示例: 复制表中的数据 语法: create table 表B select *或字段列表 from 表A; 蠕虫复制 语法: insert into 表名【(字段列表)】 select *或字段列表 from 表名; 修改操作 限制修改指定的行数。 语法: update...
阅读全文
摘要:范式理论 范式理论为了解决数据的冗余与不一致,达到节省空间的作用。 1NF 原子性(Atomicity),原子性说的就是,表中的字段不可再折分。每一个字段都是一个最基本的数据。 上表在使用中没有太大的问题,但是如果想查询开始时间,那么要先读取起止时间,再使用程序进行拆分。这样会降低程序的执行效率。由于起止时间可以再折分,所以违背了范式第一理论。 解决方法: 将起...
阅读全文
摘要:关系 实体:就是现实中的事物(实物或虚拟的),计算机就是用于存储与实体相关的信息。 关系:在现实中实体与实体之间具有一定的关系。在MySQL中将现实中关系划分成三种,一对一、一对多(多对一)、多对多。 一对一 此表中包含很多信息(字段),但是某些字段是常用的,经常用于查询,某些字段,不是经常查询。如果都放在一个表中,MySQL进行数据读取时,效率会很低。 解决办法: ...
阅读全文
摘要:列类型 文本类型 enum(枚举类型) 语法: enum(值列表); 说明: 值是使用逗号分隔多个值 值列表中的值的个数最多是65535个 作用是规范数据,节省空间。 类比于form表单中的单选按钮 示例: 示例: 原理: set集合类型 语法: set(值列表); 说明: 值是使用逗号分隔多个值 值列表中的值的个数最多是64个 作用是规范数据,节省空间。 类比于for...
阅读全文
摘要:修改表: 修改字段类型 alter table 表名 modify 字段名 字段类型 【附加属性】【after 字段名|first】 修改字段名 alter table 表名 change 原字段名 新字段名字段类型【附加属性】【after 字段名|first】 alter table 表名 add字段名 字段类型 【附加属性】【after 字段名|first】 alter table 表名 dr...
阅读全文

浙公网安备 33010602011771号