`
- 浏览:
39045 次
- 性别:
- 来自:
上海
-
1: mysql :
创建新的用户后,给用户赋予新的权利:
1. grant all privileges on *.* to 'penny'@'%' identified by '1' with grant option;
2. 将数据库中数据导出放在指定目录中(在bin下执行,黑窗口要进入到bin下)
mysqldump -u penny -p ri5 -h PRCSGI03001 ref_reduction>D:/data/ref_reduction.txt
备注: 导出所有ri5 下表以及表的数据
mysqldump -u penny -p ri5 -h PRCSGI03001 PRCSGI03001> D:/database/data/tablecreationdump.txt
导出tablecreationdump 表的记录
3: 将已有的一个字段不为空,但是现在要求将它改为空。
alter table return_auth mofidy order_no varchar(10) null;
4. 根据日期选出其他的字段:
select a.return_item_id , a.update_dt from return_item a where year(a.update_dt)=2010 and month(a.update_dt>=08) adn 05<day(a.update_dt)<=09;
5. 一条有用的语句;
update aa set iid = iid+1;
6: 有用SQL
insert into ref_restock_item select div_no ,item_no from restock_eligible_wrk where restock_flag = 'Y';
7 .-->
储存过程:
create procedure pro_return_auth()
begin
declare last_id int ;
set last_id = 0;
select max(return_auth_id) into last_id from return_auth;
if last_id = 1234567892284 then
set last_id = 10000000000;
insert into return_auth(id) values(last_id);
end if;
end ;
delimiter //
create procedure pro_return_auth(in paramId integer)
begin
declare last_id int;
if paramId = 2234 then
set last_id = 100;
insert into test(id) values(last_id);
alter table test AUTO_INCREMENT=100;
end if;
end;
//
5.创建表
create table ab(id string(10)primary key auto_increment,
name varchar(10) );
drop table aa
insert into aa values(null,'aa',1);
update aa set iid=iid+1;
insert into return_return_temp
select div_no,item_no from
return_auth
where return_auth_id < = 10000 ;
6.创建触发器:
CREATE TRIGGER test_trigger
BEFORE
insert ON return_instant_rebate
FOR EACH ROW
BEGIN
IF (select max(return_instant_rebate_id) from return_instant_rebate)>=14 THEN
delete from return_instant_rebate where return_instant_rebate_id=6;
END;
7. ***增加语句(从别的表里选出来的)
insert into return_return_temp
select div_no,item_no from
return_auth
where return_auth_id < = 10000 ;
insert into 表a select col_name1,col_name2...(字段名) from
表b where 条件将表b里东西插到表adelete from 表b where 条件
8.在mysql中使用触发器
MySQL 触发器简单实例
~~语法~~
CREATE TRIGGER <触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中
其他对象的命名方式基本相象.
{ BEFORE | AFTER } --触发器有执行的时间设置:可以设置为事件发生前或后。
{ INSERT | UPDATE | DELETE } --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。
ON <表名称> --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活.
我们不能给同一张表的同一个事件安排两个触发器。
FOR EACH ROW --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
<触发器SQL语句> --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,
但是这里的语句受的限制和函数的一样。
--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。
~~实例~~
Example1:
创建表tab1
DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
tab1_id varchar(11)
);
创建表tab2
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
tab2_id varchar(11)
);
创建触发器:t_afterinsert_on_tab1
作用:增加tab1表记录后自动将记录增加到tab2表中
DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
insert into tab2(tab2_id) values(new.tab1_id);
END;
测试一下
INSERT INTO tab1(tab1_id) values('0001');
看看结果
SELECT * FROM tab1;
SELECT * FROM tab2;
Example2:
创建触发器:t_afterdelete_on_tab1
作用:删除tab1表记录后自动将tab2表中对应的记录删去
DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
delete from tab2 where tab2_id=old.tab1_id;
END;
测试一下
DELETE FROM tab1 WHERE tab1_id='0001';
看看结果
SELECT * FROM tab1;
SELECT * FROM tab2;
1*: select distinct a.return_auth_id returnID from return_auth a , auth_update_details b
where a.return_auth_id=b.return_auth_id
and a.update_dt >= date_format(#startDate#, '%Y-%m-%d 00:00:00')
and a.update_dt <= date_format(#endDate#, '%Y-%m-%d 23:59:59');
28
delete c from return_addlfee c
join return_item b on b.return_item_id = c.return_item_id
join return_auth a on a.return_auth_id = b.return_auth_id
where a.status_cd in ('C','R') and To_Days(sysdate()) -To_Days( a.update_dt)>#value#;
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### MySQL 使用总结 #### MySQL 目录结构及配置选项 MySQL 的安装目录通常包含了几个重要的子目录: - **bin**:存储 MySQL 可执行文件,例如 `mysqld` 和 `mysql`。 - **data**:存储 MySQL 数据库的数据文件。 ...
根据提供的文件信息,本文将对MySQL的使用方法进行详细的总结与解释,旨在为读者提供一套实用的操作指南。MySQL是一款广泛使用的开源关系型数据库管理系统,在Web应用程序、数据仓库、数据分析等领域有着广泛的应用...
MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)进行数据操作。本文将深入探讨MySQL的基础知识,包括安装、数据类型、表的创建、查询语句、索引以及事务处理等核心概念。 1....
Centos6.7系统安装MySQL5.7总结 本资源总结了在Centos6.7系统中安装MySQL5.7的步骤,包括下载和安装MySQL软件包,创建数据库仓库目录,新建MySQL用户和组,修改目录属有者,配置参数,修改系统配置文件,启动MySQL...
### MySQL命令简单总结 本文将基于提供的部分内容对MySQL的一些常用命令进行详细解释,这些命令涵盖了启动、重启、关闭MySQL服务,以及登录、设置密码、权限管理等基础操作,并且包括了数据库与表的基本管理(创建...
标题为“网易技术部MySQL资料总结.pdf”,说明文档是网易技术部关于MySQL数据库的技术总结,内容按照开发篇和优化篇两个部分进行分类,覆盖面从基础使用到性能优化等多方面知识。 在描述中提到文档具有很高的参考...
本总结将深入探讨MySQL的基础知识,包括安装与配置、数据类型、表的创建与管理、SQL查询语言、索引与性能优化等方面,旨在帮助读者巩固对MySQL的理解。 一、安装与配置 在开始使用MySQL之前,需要先完成安装。对于...
关于mysql知识点的xmind总结,包含mysql的基础介绍,普通用法以及高级用法
在这个“mysql数据库总结”中,我们将深入探讨MySQL的关键概念、操作以及最佳实践。 首先,让我们了解MySQL的基础知识。MySQL基于SQL(结构化查询语言),它允许用户通过简单的命令进行数据的查询、更新和管理。当...
mysql安装问题总结 mysql安装问题总结 mysql安装问题总结 mysql安装问题总结 mysql安装问题总结
MySQL 使用(安装、登录、设置用户、设置密码等)学习总结
MYSQL 命令总结 MySQL 是一个流行的关系型数据库管理系统,提供了多种命令来管理和维护数据库。以下是 MySQL 命令的总结,包括连接 MySQL、修改密码、增加新用户、操作技巧和显示命令等。 连接 MySQL 连接 MySQL ...
MySQL知识总结思维导图,压缩包内包含MySQL数据库基础、MySQL库的操作、MySQL表的操作(DDL)、MySQL数据类型、MySQL表的约束、MySQL基本查询(DML)、MySQL内置函数、MySQL复合查询、MySQL内外连接、MySQL索引特性...
Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结
以下是对MySQL学习的一些关键知识点的总结: 1. **用户名和口令**:MySQL允许的用户名长度最多为16个字符,而Unix系统通常限制用户名为8个字符。在命令行上直接输入口令存在安全隐患,因此应避免。MySQL的身份验证...
以下是对MySQL入门基础知识的详细总结: 一、MySQL安装与配置 1. 安装:在Windows、Linux或Mac OS上,可以通过官方网站下载相应平台的安装包,按照向导进行安装。 2. 配置:安装完成后,需要配置MySQL服务器,包括...
- 登录MySQL可以使用命令行工具,根据单实例或多实例配置不同,需要指定不同的端口或套接字文件。 ### MySQL管理员设置 #### 管理员密码管理 - 管理员root用户的密码设置和修改可以通过命令行或SQL语句进行。 - ...
### MySQL悲观锁总结和实践 #### 一、悲观锁概念详解 悲观锁是一种同步机制,其基本思想是对数据被外界修改持有悲观态度,因此在整个数据处理过程中,将数据处于锁定状态。简而言之,悲观锁认为数据在处理过程中很...