mysql
文章平均质量分 59
wrh_csdn
热爱技术
展开
-
MySQL存储过程的查询命令
select name from mysql.proc where db=’数据库名’;或者select routine_name from information_schema.routines where routine_schema='数据库名';或者show procedure status where db='数据库名';SHOW CREATE PROCEDURE 数据库.存储过程名;...原创 2018-03-07 16:17:13 · 7041 阅读 · 1 评论 -
Mysql IFNULL() 、NULLIF()、IF(expr1,expr2,expr3) 控制流函数
控制流函数: IFNULL(expr1,expr2)如果 expr1 为非 NULL 的,IFNULL() 返回 expr1,否则返回 expr2。IFNULL() 返回一个数字或字符串值mysql> SELECT IFNULL(1,0); -> 1mysql> SELECT IFNULL(NULL,10); -> 10如果 expr...原创 2018-03-29 14:07:10 · 879 阅读 · 0 评论 -
Mysql 学习教程
http://www.runoob.com/mysql/mysql-administration.html原创 2018-04-18 15:37:42 · 231 阅读 · 0 评论 -
mysql 基础知识
/* 启动MySQL */net start mysql/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set password=password('root...原创 2018-04-18 17:29:24 · 164 阅读 · 0 评论 -
RANGE 与 RANGE COLUMNS 范围分区
MySQL基于时间字段进行分区的方案总结MySQL支持的分区类型一共有四种:RANGE,LIST,HASH,KEY。其中,RANGE又可分为原生RANGE和RANGE COLUMNS,LIST分为原生LIST和LIST COLUMNS,HASH分为原生HASH和LINEAR HASH,KEY包含原生KEY和LINEAR HASH。 实现方式主要是以下几种:1. 基于RANGE2. 基于RANGE ...转载 2018-04-20 15:15:17 · 4059 阅读 · 0 评论 -
MySQL存储过程的“异常处理”
MySQL存储过程的“异常处理”阅读目录:存储过程的异常处理定义异常处理单一异常处理程序 continue exit多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理异常处理的命名异常传播Q:何为异常?A:程序在执行过程中有可能出错,运行时错误叫做异常。默认情况下,当存储过程运行出错时,过程会立即终止,并打印系统错误消息。 实验环...转载 2018-05-03 16:40:13 · 943 阅读 · 0 评论 -
mysql在同一台机器上实现主从复制,多个mysql(windows)
主从数据库数据同步,可以使用从数据库来实时备份主数据库,当主数据库被破坏,可以马上启用从数据库。一、从C盘拷贝MYSQL到D盘,命名为MYSQL2把"C:\MySQL" 修改为 "D:\MySQL2"修改配置文件my.ini[client]port=3307[mysqld]port=3307basedir="D:/MYSQL2/"datadir="D:/MYSQL2/Data/"安装一个新的MYS...转载 2018-05-04 18:23:17 · 8298 阅读 · 1 评论 -
MySQL数据库update
比如:update db_product.tbl_product_sku ku ,(select product_spec_number, buy_number #购买数量from tbl_order_product op #订单商品表(表一订单下会有多个商品)where exists(select order_id from tbl_order o ...转载 2018-04-27 16:37:07 · 1329 阅读 · 0 评论 -
mysql 游标用法
12345678910111213141516171819202122232425262728293031delimiter $create PROCEDURE phoneDeal()BEGIN DECLARE id varchar(64); -- id DECLARE phone1 varchar(16); -- phone DECLARE password1 v...转载 2018-04-28 12:38:16 · 331 阅读 · 0 评论 -
Navicat 运行 sql 文件
Navicat for Mysql 是应用比较多的mysql的视图管理工具。下面记录下Navicat for mysql如何导入sql文件。方法/步骤首先创建一个数据库(因为我导入的sql文件只有建表和插入数据的语句)。在连接名处点击右键,接建数据库。输入数据库的名称,这里我选择utf-8编码,因为我安装的mysql时有特意选择utf-8.双击你新建的数据库,使之显示绿色状态。然后在该数据库的名称...转载 2018-05-28 15:17:53 · 8385 阅读 · 0 评论 -
mysql定时任务调度存储过程
#开启定时器 0:off 1:on SET GLOBAL event_scheduler = 1; #创建存储过程delimiter $drop procedure if exists prc_cancel_order;#取消订单create PROCEDURE prc_cancel_order()BEGIN DECLARE l_order_id bigint(20); DEC...原创 2018-05-28 16:44:16 · 1274 阅读 · 0 评论 -
mysql 创建用户创建数据库给用户授权执行SQL文件实例
#创建用户CREATE USER 'test_ncrisk'@'%' IDENTIFIED BY 'test_ncrisk';#创建数据库CREATE database ncrisk default character set utf8 collate utf8_general_ci; #给用户授权GRANT select,update,delete,insert ON ncrisk.* T...原创 2018-06-25 17:03:03 · 1620 阅读 · 1 评论 -
mysql 连接函数 与 oracle 连接符 ||
mysql 的连接函数concat()可以多个字符串连接,而在oracle里面只能两个字符串连接select concat('drop table ',t.table_name,' ;') col from information_schema.tables t where t.table_schema='account_check';...原创 2018-07-10 10:29:36 · 13843 阅读 · 1 评论 -
mysql常见问题总结
061 如何删除表? 答案:运行命令 drop table table_name;062 创建索引 对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也...转载 2018-07-03 18:12:13 · 360 阅读 · 0 评论 -
MySQL ROLLUP和CUBE区别
MySQL ROLLUP和CUBE区别2016年02月25日 09:39:31阅读数:1744rollup 是根据维度在数据结果集中进行的聚合操作。假设用户需要对N个维度进行聚合查询操作,普通的group by语句需要N个查询和N次group by操作。而rollup的优点是一次可以得出N次group by的结果,这样可以提高查询效率,同时大大减少网络的传输流量。如果是Group by ROLL...转载 2018-07-06 11:25:21 · 3935 阅读 · 0 评论 -
动态SQL 和 嵌套游标的使用实例
mysql动态执行sql,这边重点代码是:set f_sql=CONCAT('rename table cw_computer_resulttest to cw_computer_result',f_last,';');set @ms=f_sql; PREPARE stmt1 FROM @ms;EXECUTE stmt1;DEALLOCATE PREPARE stmt1 ;其中@m...转载 2018-07-26 15:04:59 · 625 阅读 · 0 评论 -
Mysql SET(集合类型) 数据类型
SET(集合类型) SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。set的容纳范围为64个不同的成员..set其实和枚举差不多,set指定了一个集合范围,在我们插入数据的时候,需要插入在set范围之内的元素,如果插入了未被包含的元素,那么就会发出警告..CREAT...原创 2018-03-29 11:19:00 · 38823 阅读 · 3 评论 -
Mysql enum 枚举类型
create table enum( f1 enum('1','2','3','4','5','6') 枚举定义的范围);//-------------------------------------------------------insert into enum values(1);insert into enum values(2);insert into e...原创 2018-03-29 10:31:10 · 2026 阅读 · 0 评论 -
MySQL存储过程的基本函数
MySQL存储过程的基本函数 (1).字符串类CHARSET(str) //返回字串字符集CONCAT (string2 [,... ]) //连接字串INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0LCASE (string2 ) //转换成小写LEFT (string2 ,length ) //从string2中的...原创 2018-03-07 17:54:25 · 326 阅读 · 1 评论 -
修改mysql的用户密码,分别使用grant、alter、set修改
修改mysql的用户密码,分别使用grant、alter、set修改 ①mysql> grant all on *.* to '用户名'@'登录主机' identified by '密码'; ②mysql> alter user '用户名'@'登录主机' identified by '密码(自定义)'; ③mysql> SET PASSWORD FOR '用户名'@'登录主...原创 2018-03-08 14:01:40 · 28957 阅读 · 0 评论 -
Mysql数据库操作常用命令
Mysql数据库操作常用命令【全了】Mysql数据库操作常用命令2016-07-21 MySQL数据库1、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 select * f...原创 2018-03-01 17:10:13 · 228 阅读 · 0 评论 -
如何用命令行执行mysql的sql文件
使用source命令执行sql脚本。进入mysql的控制台后,使用source命令执行Mysql>source 【sql脚本文件的路径全名】具体步骤:假设运行sql脚本是hello.sql,在控制台下输入:mysql>source c:\hello world\hello.sql(注意路径不用加引号,结尾不用加分号) 或者 \. c:\hello world\hello.sql然后回车...原创 2018-03-02 16:42:59 · 4801 阅读 · 0 评论 -
MySQL定时器开启、调用实现代码
一、基本概念mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。二、适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。例如:使用event在每月的1日凌晨...转载 2018-03-19 15:57:10 · 667 阅读 · 0 评论 -
MySQL InnoDB 默认行级锁,行级锁都是基于索引,SQL 语句用不到索引是不会使用行级锁的,而会使用表级锁把整张表锁住
使用select…for update给数据加锁的时候,咱们需要注意锁的级别,MySQL InnoDB 默认行级锁。行级锁都是基于索引的,如果一条 SQL 语句用不到索引是不会使用行级锁的,而会使用表级锁把整张表锁住,这点需要咱们格外的注意原创 2018-03-06 14:40:29 · 3289 阅读 · 0 评论 -
Mysql创建存储过程时,出现ERROR 1064 (42000) delimiter
CREATE TABLE `proc_test` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT, #ID,自动增长 `username` varchar(20) NOT NULL, #用户名 `password` varchar(20) NOT NULL, #密码 PRIMARY KEY (`id`) #主键 ) ENGINE=MyISAM AUTO_INCR...原创 2018-03-06 18:03:20 · 5780 阅读 · 0 评论 -
MySQL 5.7新特性之Generated Column(函数索引)与 Oracle 的函数索引
mysql不提供函数索引的创建,mysql5.7版本之后提供Generated Column类似的功能,如: alter table RP_RONGHE_PROXY_OPR_MER_DETAIL add column substr_through_date varchar(8) generated always as (SUBSTR(THROUGH_DATE,0,8)) VIRTUAL;...原创 2018-03-26 16:37:32 · 2951 阅读 · 0 评论 -
mysql中的存储过程之无参数,in、out、inout参数的讲解
create procedure 你创建的名称() begin 。。。。。。。。。 end;如下:一.创建语句create procedure userCount()@1 begin SELECT COUNT(userId) FROM USER;@2 end;@3注意:1. 在@2和@3处记得加分号,要不然...原创 2018-03-27 11:06:25 · 3143 阅读 · 0 评论 -
格式化时间戳,并赋值给变量
变量初始化DECLARE var_buy_type TINYINT(1);1格式化时间戳,并赋值给变量SET current_end_date = FROM_UNIXTIME('1415513454', '%Y-%m-%d %H:%i:%s');1datetime类型转时间戳UNIX_TIMESTAMP('2015-04-01 10:21:21');1将多个列赋值多个变量SELECT `useri...原创 2018-03-27 11:27:13 · 3111 阅读 · 0 评论 -
Mysql-存储过程 学习整理
[整理]Mysql-存储过程 学习整理简单的使用 创建 DROP PROCEDURE IF EXISTS pro2; DELIMITER // # $或 / CREATE PROCEDURE pro2(OUT s INT) BEGIN SELECT COUNT(*) INTO s FROM navi_issuer; END $$点:“DEL...转载 2018-03-27 11:43:39 · 305 阅读 · 0 评论 -
快速为MySQL创建大量测试数据
快速为MySQL创建大量测试数据 :引言在PostgreSQL中可以用generate_series()函数来快速生成大量测试数据,在MySQL中没有提供类似的东西。那么在做测试的时候,要往表中插入大量数据库该怎么办?可以写一个循环执行INSERT语句的存储过程,但这种方式还是太慢,我试了下,1秒钟居然只能插500条记录。比较快的方式是用程序生成一个数据文件,再用load data加载。但是直接用...原创 2018-04-09 17:37:57 · 3598 阅读 · 0 评论 -
Mysql Event 调度历史记录
Mysql Event 调度历史记录目前的mysql版本没有Event执行历史信息,为方便查看Event是否正常执行以及执行结果,可以通过以下两个步骤来实现: 一.创建作业执行Event历史记录表[sql] view plain copyCREATE TABLE `mysql`.`t_event_history` ( `dbname` VARCHAR(128) NOT NULL DEFAUL...转载 2018-03-27 14:31:43 · 4191 阅读 · 0 评论 -
Oracle 分析函数row_number() over (partition by order by ) 的 Mysql的替代方法
--比较高效select empid,deptid,salary,rank from ( select heyf_tmp.empid,heyf_tmp.deptid,heyf_tmp.salary,@rownum1:=@rownum1+1 , if(@pdept=heyf_tmp.deptid,@rank:=@rank+1,@rank:=1) as rank, @pdept:=heyf_tm...原创 2018-03-27 18:17:12 · 6173 阅读 · 0 评论 -
Mysql update delete
---updateUPDATE 语句用于中修改数据库表中的数据。更新数据库中的数据UPDATE 语句用于在数据库表中修改数据。语法UPDATE table_nameSET column_name = new_valueWHERE column_name = some_value注释:SQL 对大小写不敏感。UPDATE 与 update 等效。这里,关联的两张表为:tablename1、ta...原创 2018-03-28 17:11:03 · 621 阅读 · 0 评论 -
mysql 出现 "1067 - Invalid default value for 'UPDATE_TIME' " 错误提示的解决办法
问题:由于 tmp_wrh_1 的字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00'即:`UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间';在对这个表进行操作的时候,如:alter table tmp_wrh_1 ...原创 2018-08-30 16:19:55 · 36386 阅读 · 3 评论