![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 59
yangshijin1988
这个作者很懒,什么都没留下…
展开
-
mysql 查询正在执行的事务以及等待锁 常用的sql语句
使用navicat测试学习:首先使用set autocommit = 0;(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚)在打开一个执行update查询 正在执行的事务:SELECT * FROM information_schema.INNODB_TRX根据这个事务的线程ID(trx_mysql_thr转载 2017-11-29 17:17:43 · 7169 阅读 · 0 评论 -
MYSQL入门学习之三十一:MySQL锁定机制之表级锁
MySQL 的表级锁定主要分为两种类型,一种是读锁定,另一种是写锁定。 在MySQL 中,主要通过四个队列来维护这两种锁定:两个存放当前正在锁定中的读和写锁定信息,另外两个存放等待中的读写锁定信息,如下: Current read-lock queue (lock->read) Pending read-lock queue转载 2014-07-30 09:35:35 · 418 阅读 · 0 评论 -
MYSQL入门学习之二十八:MySQL权限系统简介
1、权限系统简介 MySQL 的权限系统在实现上比较简单,相关权限信息主要存储在几个被称为grant tables 的系统表中,即: mysql.User,mysql.db,mysql.Host,mysql.tables_priv 和mysql.columns_priv。 由于权限信息数据量比较小,而且访问又非常频繁,所以Mysql 在启动的时候,就会将所有的权转载 2014-07-30 09:32:33 · 355 阅读 · 0 评论 -
MYSQL入门学习之二十二:MySQL物理文件 之 日志文件
1、错误日志:Error Log 错误日志记录了MyQL Server 运行过程中所有较为严重的警告和错误信息,以及MySQLServer 每次启动和关闭的详细信息。在默认情况下,系统记录错误日志的功能是关闭的,错误信息被输出到标准错误输出(stderr),如果要开启系统记录错误日志的功能,需要在启动时开启-log-error 选项。 错误日志的默认存放转载 2014-07-30 09:26:29 · 443 阅读 · 0 评论 -
MYSQL入门学习之二十一:MYSQL用户管理
一、新增用户1、直接添加 mysql> insert into mysql.user(host,user,password) values('%','testuser',PASSWORD('testuser'));2、添加用户并赋权 mysql> grant select on test.* to 'testuser1'@'localhost'转载 2014-07-30 09:28:00 · 387 阅读 · 0 评论 -
MYSQL入门学习之二十:MYSQLIMPORT命令参数详解
MySQLimport位于MySQL/bin目录中,是MySQL的一个载入(或者说导入)数据的一个非常有效的命令行工具。 使用mysqlimport -?命令,可以查看mysqlimport的具体参数及详细说明。下表是一些常见的选项:-c, --columns=nameUse only these columns to import转载 2014-07-30 09:27:25 · 1291 阅读 · 0 评论 -
MYSQL入门学习之三十:MySQL锁定机制简介
数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则。 MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。转载 2014-07-30 09:35:05 · 371 阅读 · 0 评论 -
MYSQL入门学习之二十七:MySQL存储引擎简介 之 InnoDB
Innodb 做为第三方公司所开发的存储引擎,是除MyISAM 之外,在MySQL 中使用最为广泛的。1、Innodb 之所以能如此受宠,主要是在于其功能方面的较多特点: (1)、支持事务安全 Innodb 在功能方面最重要的一点就是对事务安全的支持。而且实现了SQL92 标准所定义的所有四个级别(READ UNCOMMITTED,REA转载 2014-07-30 09:29:38 · 401 阅读 · 0 评论 -
MYSQL入门学习之二十五:MySQL各模块工作配合
下图显示了MySQL 各个模块间是如何相互协同工作的:1、执行启动MySQL 命令之后,MySQL 的初始化模块就从系统配置文件中读取系统参数和命令行参数,并按照参数来初始化整个系统,如申请并分配buffer,初始化全局变量,以及各种结构等。同时各个存储引擎也被启动,并进行各自的初始化工作。2、当整个系统初始化结束后,由连接管理模块接手。连接管理模块会启动处理客户端连接转载 2014-07-30 09:31:11 · 428 阅读 · 0 评论 -
MYSQL入门学习之二十四:MySQL逻辑模块组成
总的来说,MySQL 可以看成是二层架构: 第一层SQL Layer:数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,sql 解析,执行计划优化,query cache 的处理等等; 第二层Storage Engine Layer(存储引擎层):底层数据存取操作实现部分,由多种存储引擎共同组成。 可以用如下一转载 2014-07-30 09:27:30 · 435 阅读 · 0 评论 -
MYSQL入门学习之二十三:MySQL物理文件 之 数据文件
在MySQL 中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。1、“.frm”文件 与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等。 不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。 所有的“转载 2014-07-30 09:29:22 · 526 阅读 · 0 评论 -
MYSQL入门学习之十四:游标的基本操作
游标(CURSOR)是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。 游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改。 使用游标需要MySQL5及以上版本支持。一、使用游标的步骤转载 2014-07-29 14:18:10 · 607 阅读 · 0 评论 -
MYSQL入门学习之四:MYSQL的数据类型
一、整型 整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种整数类型。MySQL数据库除了支持这两种类型外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。 各种整数类型的取值范围、存储的字节数如下: 整型 字节数 无符号数的取值范围 有符号数的取值范围转载 2014-07-29 13:41:27 · 332 阅读 · 0 评论 -
MySQL 自定义函数 (Function) 示例
mysql>mysql> delimiter $$mysql>mysql> CREATEFUNCTION myFunction -> (in_string VARCHAR(255), -> in_find_str VARCHAR(20), -> in_repl_str VARCHAR(20))转载 2014-07-29 12:35:15 · 3422 阅读 · 0 评论 -
mysql 5.0存储过程学习总结
一.创建存储过程1.基本语法:create procedure sp_name()begin.........end2.参数传递二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递三.删除存储过程1.基本语法:drop procedure sp_name转载 2014-07-28 17:49:54 · 455 阅读 · 0 评论 -
MYSQL常用函数
########### 日期函数 ###########select now(); -- 当时 yyyy-mm-dd hh:mm:ssselect curdate(); -- 当天 yyyy-mm-ddselect (curdate() - interval (weekday(curdate()) + 1) day); -- 本周第一天select (curdate() -转载 2014-07-10 12:54:55 · 532 阅读 · 0 评论 -
存储过程的异常处理
这部分,主要讲解一些简单的问题、异常处理器和条件。下面首先看几个简单的问题:1、log of failures 错误日志在INSERT失败时,希望将错误记录到日志文件中,以便需要时能查看到错误记录,当然也可以将错误时间、出错原因等记录到指定的文件中。2、下面做一个例子,创建一个主键表,一个外键表,在mysql中由于使用了InnoDB存储引擎,所以外键关联检查是打开的,所以向外键转载 2014-07-28 17:54:27 · 1005 阅读 · 0 评论 -
MYSQL入门学习之十六:MYSQL命令参数详解
一、MYSQL命令行参数的详细说明 Usage:mysql [OPTIONS] [database] 下面为各选项的详细说明:-?, --help显示帮助信息并退出-I, --help显示帮助信息并退出--auto-rehash自动补全功能,就像linux转载 2014-07-29 14:19:32 · 404 阅读 · 0 评论 -
MYSQL入门学习之二十六:MySQL存储引擎简介 之 MyISAM
MyISAM 是MySQL 最早的ISAM 存储引擎的升级版本,也是MySQL 默认的存储引擎。1、MyISAM 存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。每个表都有且仅有这样三个文件做为MyISAM 存储类型的表的存储。 (1)、.frm 文件:存放表结构定义信息 (2)、.MY文件D:存放表的数据转载 2014-07-30 09:31:33 · 411 阅读 · 0 评论 -
MYSQL入门学习之二十九:MySQL访问控制实现原理
MySQL 访问控制实际上由两个功能模块共同组成,一个是负责“看守MySQL 大门”的用户管理模块,另一个就是负责监控来访者每一个动作的访问控制模块。用户管理模块决定造访客人能否进门,而访问控制模块则决定每个客人进门能拿什么不能拿什么。下面是一张MySQL 中实现访问控制的简单流程图(见下图):1、用户管理 (1)、在MySQL 中,用户访问转载 2014-07-30 09:33:25 · 496 阅读 · 0 评论 -
如何将mysql表结构导出成Excel格式的(并带备注)
1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项:导出的格式如下:2.要想转成Excel格式的只需手动将该表复制到Excel中去。转载 2017-04-18 16:08:27 · 19548 阅读 · 1 评论 -
oracle数据库对date字段类型存在空值进行排序的处理方法
oracle 数据库,如果表中有一个字段类型为date,且该字段类型存在空值,并且需要排序, 解决方法为使用oracle的nvl函数,如果该字段(m.UPDATE_DT)为空,那就为其付一个默认值 NVL(m.UPDATE_DT, to_date('2000-01-01 00:00:00','yyyy/MM/dd/hh24/mi/ss')) Jav原创 2013-06-06 22:07:57 · 2931 阅读 · 0 评论 -
SQL语句大全
SQL语句大全本词条从基础知识、判断对象和应用技巧等方面,介绍了SQL(Structured Query Language)结构化查询语言的应用方法。1创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database databas转载 2013-06-06 22:18:31 · 546 阅读 · 0 评论 -
[MySQL] TRUNCATE数据库所有表,打印所有TRUNCATE表语句
将XXX替换成数据库名称,然后执行SQL,将执行结果拷贝出来执行就可以TRUNCATE数据库所有表了。select CONCAT('truncate table XXX.',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='XXXX';转载 2017-03-23 11:09:04 · 2745 阅读 · 0 评论 -
MySQL5.7.*免安装版配置方法
MySQL5.7.*免安装版配置方法1. 解压MySQL压缩包 将下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Program Files\mysql-5.7.9-win32" 将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini 复制下面的配置信息到 my.ini 保存 #如果没有my-def转载 2017-03-18 20:59:05 · 343 阅读 · 0 评论 -
MySQL安装图解
一、MYSQL的安装1、打开下载的mysql安装文件,双击运行mysql-5.5.40-win32.msi。 2、选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,选择“Custom”,按“next”键继续。 3、在“Developer Comp转载 2017-03-18 20:38:20 · 474 阅读 · 0 评论 -
mysql常用sql总结_获取多个字段最大值最小值
greatest(字段1,字段2,字段3,..,字段n) 取最大值 least(字段1,字段2,字段3,...,字段n) 取最小值示例:SELECT GREATEST(2,3,4); 结果:4SELECT LEAST(2,3,4); 结果:2SELECT GREATEST(DATE('2016-05-02'), DATE('2015-05-02'), DATE转载 2016-06-17 10:30:28 · 29294 阅读 · 0 评论 -
mysql 查询表结构SQL
1、查询某张表(XXX)的表结构:SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT FROM information_schema.`COLUMNS` WHERE TABLE_NAME = 'XXX';转载 2016-06-08 11:39:26 · 450 阅读 · 0 评论 -
mysql更新语句获取受影响行数和插入记录id
-- mysql 更新或插入后获取受影响行数SELECT ROW_COUNT();-- mysql 插入一条记录后获取插入记录的主键idSELECT LAST_INSERT_ID();转载 2016-03-17 11:53:01 · 6168 阅读 · 0 评论 -
mysql常用函数
mysql常用函数1、format(col,2)格式化浮点数,保留两位小数点mysql> SELECT FORMAT(12562.6655,2); 结果:12,562.67mysql> SELECT FORMAT(12332.2,0); 结果:12,3322、truncate(col,2) 直接截取不四舍五入,保留两位小数点mysql> SELECT trunca原创 2016-03-29 16:18:01 · 412 阅读 · 0 评论 -
mysql 查看锁表解锁
-- 查看那些表锁到了show OPEN TABLES where In_use > 0;-- 查看进程号show processlist;--删除进程kill 1085850;转载 2016-01-05 19:25:33 · 411 阅读 · 0 评论 -
mqsql 排序并获取排序号,功能与oracle的rowrum函数类似.
示例如下:SELECT @rownum:=@rownum+1 rownum,t.* from (select@rownum:=0 as rownum2,c.* from rocky_account_auto_invest_config c,rocky_account a where status = 1 and a.USER_ID = c.USER_ID and a.USE_MONEY >原创 2013-10-25 14:41:02 · 1126 阅读 · 0 评论 -
mysql分组排序去数据的方式
-- 第一种方式 耗时0.074sSELECT SQL_NO_CACHE t.* FROM (SELECT * FROM rocky_b_repaymentrecord ORDER BY ID desc ) t GROUP BY t.user_id;-- 第二种方式 耗时0.022sSELECT SQL_NO_CACHE r.* FROM (SELECT MAX(i原创 2014-10-09 17:32:04 · 512 阅读 · 0 评论 -
mysql 存储过程中对负数的捕捉
在mysql存储过程中,利用DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' SET t_error = 1;或DECLARE CONTINUE HANDLER FOR SQLWARNING SET t_error = 1;这两种方式来捕捉异常时,当数据为负数时,会被捕捉当成异常处理,所以请各位对已有或将要写的过程中不要使用这两种方原创 2014-08-15 16:59:01 · 1845 阅读 · 0 评论 -
mysql禁用autocommit,以及遇到的问题
ysql的autocommit(自动提交)默认是开启,其对mysql的性能有一定影响,举个例子来说,如果你插入了1000条数据,mysql会commit1000次的,如果我们把autocommit关闭掉,通过程序来控制,只要一次commit就可以了。1,我们可以通过set来设置autocommit查看复制打印?mysql> set global init_conne转载 2014-08-13 22:53:26 · 680 阅读 · 0 评论 -
mysql定时任务
-- 下一个月1号凌晨1点SELECT DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR) ;-- 第二天凌晨3点SELECT date_add(date(curdate() + 1),interval原创 2014-08-21 17:15:45 · 447 阅读 · 0 评论 -
Mysql存储过程循环内嵌套使用游标示例
BEGIN -- 声明变量 DECLARE v_addtime_begin varchar(13); DECLARE v_addtime_end varchar(13); DECLARE v_borrow_id int; DECLARE v_count int; DECLARE s1 int; /** 声明游标,并将查询结果存到游标中 **/ DECL原创 2014-07-31 20:35:27 · 1776 阅读 · 0 评论 -
MYSQL入门学习之十一:触发器的基本操作
触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于BEGIN和END语句之间的一组语句): DELETE; INSERT; UPDATE; 使用触发器,需要MySQL5或之后的版本支持。一、触发器基本操作1、创建触发器 创建触发器时,需转载 2014-07-29 14:05:45 · 452 阅读 · 0 评论 -
MYSQL入门学习之七:MYSQL常用函数
一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方转载 2014-07-29 14:04:08 · 433 阅读 · 0 评论 -
mysql 两表结果集取差集
SELECT r1.* FROM (SELECT r.USER_ID FROM rocky_b_repaymentrecord r,rocky_borrow b WHERE r.BORROW_ID = b.ID AND r.`STATUS` = 1 AND b.BORROWTYPE = 2 GROUP BY r.USER_ID) r1 LEFT JOIN (SELECT r.USER_ID原创 2014-06-17 18:13:00 · 7260 阅读 · 0 评论