mysql创建存储过程

十五、mysql 存储过程

▼魔方 西西 提交于 2020-04-07 09:47:03
含义:一组预先编译好的 SQL 语句的集合,理解成批处理语句 优点: 1) 提高代码的重用性     2) 简化操作    3) 减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 一、创建语法   CREATE PROCEDURE  存储过程名(参数列表)   BEGIN   存储过程体(一组合法的 SQL 语句)   END   注意: 1) 参数列表包含三部分:参数模式、参数名、参数类型       参数模式: IN 该参数可以作为输入,需要调用方传入值             OUT 该参数可以作为输出,该参数可以作为返回值              INOUT 该参数既可以作为输入又可以作为输出,也就是该参 数既需要传入值,又可以返回值      2) 如果存储过程体仅仅只有一句话, BEGIN END 可以省略       存储过程体中的每条 SQL 语句的结尾要求必须加分号       存储过程的结尾可以使用 DELIMITER 重新设置       语法:       DELIMITER 结束标记       案例:       DELIMITER $ 二、调用方法   CALL 存储过程名(实参列表); 三、删除存储过程   语法: drop procedure 存储过程名; 四、查看存储过程的信息   show create procedure

Mysql常用命令详解

可紊 提交于 2020-04-06 01:12:54
Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin mysqldump等命令) 启动脚本 /etc/init.d/mysql(启动脚本文件mysql的目录) 系统管理 连接MySQL 格式: mysql -h 主机地址 -u用户名 -p用户密码 例 1:连接到本机上的 MySQL。 hadoop@ubuntu:~$ mysql -uroot -pmysql; 例 2:连接到远程主机上的 MYSQL。 hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql; 修改新密码 在终端输入:mysql -u用户名 -p密码,回车进入Mysql。 > use mysql; > update user set password=PASSWORD('新密码') where user='用户名'; > flush privileges; #更新权限 > quit; #退出 增加新用户 格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码' 举例: 例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有 查询、插入

存储例程

徘徊边缘 提交于 2020-04-04 17:59:57
存储例程 存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程。 存储函数 创建存储函数 存储函数其实就是一种函数,只不过在这个函数里可以执行命令语句而已。函数它可以把处理某个问题的过程封装起来,之后直接调用函数就可以去解决同样的问题了。MySQL 中定义存储函数的语句如下: CREATE FUNCTION 存储函数名称([参数列表]) RETURNS 返回值类型 BEGIN 函数体内容 END 从这里可以看出,定义一个存储函数需要指定函数名称、参数列表、返回值类型以及函数体内容,如果该函数不需要参数,那参数列表可以被省略,函数体内容可以包括一条或多条语句,每条语句都要以分号 ; 结尾。里边的制表符和换行仅仅是为了好看,完全可以用空格代替。 mysql> delimiter $ mysql> create function avg_score(s varchar(100)) -> returns double -> begin -> return (select avg(score) from student_score where subject = s); -> end $ Query OK, 0 rows affected (0.01 sec) 定义了一个名叫 avg_score 的函数

MySQL 复习笔记

笑着哭i 提交于 2020-03-31 05:27:31
本文内容 SQL 语句 创建数据库 创建数据表 数据完整性约束 四种基本字符类型说明 SQL 基本语句 类型转换函数 日期函数 数学函数 字符串函数 合并结果集 union CASE 函数用法 IF ELSE 语法 WHILE 循环语法 子查询 表连接 join 事务 视图 触发器 存储过程 分页存储过程 索引 临时表 1,SQL 语句 SQL 语言:结构化的查询语言(Structured Query Language),是关系数据库管理系统的标准语言。是一种解释语言,写一句执行一句,不需要整体编译执行。 语法特点: 1.没有“ ”,字符串使用‘ ’包含 2.没有逻辑相等,赋值和逻辑相等都是= 3.类型不再是最严格的。任何数据都可以包含在‘ ’以内 4.没有 bool 值的概念,但是在视图中可以输入true/false 5.有关系运算符:> < >= <= = <> != ,它返回一个bool值 6.有逻辑运算符: !(not) &&(and) ||(or) 7.不区别大小写 2,创建数据库 语法: create database 数据库名称 on primary --默认在主文件组上 ( name='逻辑名称_data' , --当你发现它不是一句完整的sql语句,而仅仅是一个处理结构中的某一句的时候,就需要添加 , size=初始大小, --数值不包含在‘’以内

数据库原理及操作

不羁岁月 提交于 2020-03-29 17:34:06
数据库基础 传统的文件系统管理的缺陷 编写应用程序不方便; 数据冗余不可避免; 应用程序依赖性; 不支持对文件的并发访问; 数据间联系弱 难以按用户视图表示数据; 无阶段性安全控制功能。 数据库管理系统的优点 相互关联的数据的集合; 较少的数据冗余; 程序与数据相互独立; 保证数据的安全、可靠; 最大限度地保证数据的正确性; 数据可以并发使用并能同时保证一致性。 数据库管理系统 数据库是数据的汇集,它以一定的组织形式存在于存储介质上 DBMS是管理数据库的系统软件,它实现数据库系统的各种功能。是数据库系统的核心 DBA: 负责数据库的规划、设计、协调、维护和管理等工作 应用程序指以数据库为基础的应用程序; 关系型数据Key/Value 数据库 关系:关系就是二维表。并满足如下性质: 表中的行、列次序并不在重要 行row:表中的每一行,又称为一条记录(record) 列column:表中的没一列,称为属性,字段 主键(Primary key):用于唯一确定一个记录的字段 域domain:属性的取值范围,如,性别只能是‘男’和‘女’两个值 外键(Foreign key):用于表之间的一对多的关系 唯一键(Uniq key):可以为null, 非关系型数据库:NO SQL(not only SQL) mencached redis mogoDB RDBMS MySQL: MySQL,

360°全方位比较PostgreSQL和MySQL

假如想象 提交于 2020-03-27 23:30:46
360°全方位比较PostgreSQL和MySQL 一、原文 https://www.enterprisedb.com/blog/postgresql-vs-mysql-360-degree-comparison 二、摘要 本文对MySQL和PostgreSQL进行详细的比较,方便选择。 1、为什么使用PostgreSQL 2、为什么使用MySQL 3、易用性 4、语法 5、数据类型 6、复制与集群 7、视图 8、触发器 9、存储过程 10、查询 11、分区 12、表的可伸缩性 13、NoSQL能力 14、安全 15、分析函数 16、GUI工具 17、性能 18、Adoption 19、最佳环境 三、PG vs MySQL:选择哪个? PostgreSQL和MySQL都是最流行的开源数据库。MySQL被认为是世界上最流行的数据库,而PostgreSQL被认为是世界上最先进的数据库。MySQL并不完全符合SQL标准,并且很多PG上的特性并不支持。这就是为什么PG受到大量开发者喜欢的原因,并且现在PG越来越流行。 前几年,Oracle收购了MySQL,导致MySQL的出现两个版本:商业版和社区版。对于后者,由于Oracle控制了MySQL的开发,受到了广大使用者的批评。 PostgreSQL是世界上最受欢迎的数据库:他支持大量企业级特性和功能。PG由postgresql全球社区开发

C# 基于MySQL的数据层基类(MySQLHelper)

有些话、适合烂在心里 提交于 2020-03-27 03:17:24
注意驱动选择MySql提供的官方驱动Connector/Net。数据库连接字符串类似这样:<add name="DBConnectString" connectionString="Server=192.168.1.2;Database=dbname;Uid=root;Pwd=111;charset=utf8" providerName="MySql.Data.MySqlClient"/> 以下是具体代码: using System; using System.Da ta; using MySql.Da ta; using MySql.Da ta.MySqlClient; namespace DBUtility { /// <summary> /// 基于MySQL的数据层基类 /// </summary> /// <remarks> /// 参考于MS Petshop 4.0 /// </remarks> public abstract class MySqlHelper { #region 数据库连接字符串 public static readonly string DBConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DBConnectionString"]

Python基础之MySQL

只愿长相守 提交于 2020-03-26 07:45:18
MySQL 学习目录 Python DB-API Python操作mysql MySQL事务 0x01 Python DB-API 使用流程 * 引入API模块 * 获取与数据连接 * 执行SQL语句和存储过程 * 关闭数据库连接 0x02 Python操作mysql 安装包 * MySQLdb用于Python链接MySQl数据库接口。实现Python数据库API * 基于MySQL C API上建立连接 安装MySQL依赖包 * Example: ``` yum install -y python-devel yum install -y mysql-devel yum install -y gcc ``` pip 安装 MySQLdb * MySQLdb只适用python2 * python3之后不支持MySQLdb,使用pymysql包 * python3使用pymysql * Example: Python2 ``` pip search mysqldb ``` * Example: Python3 ``` pip search pymysql pip install pymysql ``` Python操作MySQL * Example: Python操作mysql完整过程 ``` # 创建链接 conn = pymysql.connect( host = '127.0

mysql数据库管理工具(navicat for mysql) 10.1.7 绿色中文版

梦想的初衷 提交于 2020-03-24 19:47:03
Navicat for MySQL: Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、管理用户等。 点击 或选择文件 -> 新建连接 来设置连接属性。 连接设置 在创建连接后,你可以连接到数据库,管理它的对象、表中的数据等。请看下面的帮助,以了解如何用最简单的方法运行这些操作。 与数据库或模式工作 与数据库或模式的对象工作Navicat 浏览器! Navicat 窗口包括一个导览窗格(左边的窗格)及一个对象窗格(右边的窗格)。 导览窗格一个是导览连接、数据库及数据库对象的基本途径。它采用树状结构,让你透过弹出菜单快捷及方便地使用数据库和它们的对象。 对象窗格显示开启表、查询等。在窗口顶部的工具栏提供其他控制项,你可以用它来操作你的数据。 下面分享一些navicat的使用心得,帮助那些入门的程序员们尽快的熟悉上这个软件。今天就先写navicat如何连接本地mysql数据库。 navicat如何连接mysql: 1、首先你电脑上必须安装了mysql的数据库。(如果你不清楚自己是否已经安装成功mysql,你可以在开始菜单输入“mysql”,进行搜索) 2、打开你的Navicat for Mysql

存储例程

陌路散爱 提交于 2020-03-21 03:25:52
存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程。 存储函数 创建存储函数 存储函数其实就是一种函数,只不过在这个函数里可以执行命令语句而已。函数它可以把处理某个问题的过程封装起来,之后直接调用函数就可以去解决同样的问题了。MySQL 中定义存储函数的语句如下: CREATE FUNCTION 存储函数名称([参数列表]) RETURNS 返回值类型 BEGIN 函数体内容 END 从这里可以看出,定义一个存储函数需要指定函数名称、参数列表、返回值类型以及函数体内容,如果该函数不需要参数,那参数列表可以被省略,函数体内容可以包括一条或多条语句,每条语句都要以分号 ; 结尾。里边的制表符和换行仅仅是为了好看,完全可以用空格代替。 mysql> delimiter $ mysql> create function avg_score(s varchar(100)) -> returns double -> begin -> return (select avg(score) from student_score where subject = s); -> end $ Query OK, 0 rows affected (0.01 sec) 定义了一个名叫 avg_score 的函数,它接收一个