목차
前言:
笔者环境:
准备工作:
1.新建两张数据表:student1, student2
2.向student1中新增数据
实现功能说明:
注意事项:
4.使用方式:
1.打印student1中的部分信息
2.复制表存储过程的编写(不带参数)
3.复制表存储过程的编写(带参数)
데이터 베이스 MySQL 튜토리얼 MySQL存储结构的使用_MySQL

MySQL存储结构的使用_MySQL

Jun 02, 2016 am 08:49 AM
구조

前言:

今天公司老大让我做一个MySQL的调研工作,是关于MySQL的存储结构的使用。这里我会通过3个例子来介绍一下MySQL中存储结构的使用过程,以及一些需要注意的点。

笔者环境:

系统:Windows 7

MySQL:MySQL 5.0.96

准备工作:

1.新建两张数据表:student1, student2

新建student1

 

DROP TABLE IF EXISTS student1;
CREATE TABLE student1 (
id INT NOT NULL auto_increment,
name TEXT,
age INT,
PRIMARY KEY(id)
);
로그인 후 복사

新建student2

DROP TABLE IF EXISTS student2;
CREATE TABLE student2 (
id INT NOT NULL auto_increment,
name TEXT,
age INT,
PRIMARY KEY(id)
);
로그인 후 복사

2.向student1中新增数据

INSERT INTO student1 (name, age) VALUES ('xiaoming', 18);
INSERT INTO student1 (name, age) VALUES ('xiaohong', 17);
INSERT INTO student1 (name, age) VALUES ('xiaogang', 19);
INSERT INTO student1 (name, age) VALUES ('xiaoyu', 18);
INSERT INTO student1 (name, age) VALUES ('xiaohua', 20);
로그인 후 복사

实现功能说明:

1.打印student1中的部分信息
2.把student1中的部分数据复制到student2中
3.传入参数作为限制条件,把student1中的部分数据复制到student2中

注意事项:

在编写存储结构的时候,我们不能以分号(;)结束。因为我们的SQL语句就是以分号(;)结尾的。这里我们要修改一下存储结构的结束符号(&&)。

这里我们使用MySQL中的DELIMITER进行修改,并在存储结构创建完毕时,再改为分号(;)结束即可。

关于这一点在后面的例子中有所体现。在编写MySQL的触发器中,也会用到类似的情况。

使用方式:

1.打印student1中的部分信息

---------------------------------------------------------------
DROP PROCEDURE IF EXISTS test_pro1;
---------------------------------------------------------------
DELIMITER &&
CREATE PROCEDURE test_pro1()
BEGIN
  set @sentence = &#39;select * from student1 where age<19;&#39;;
  prepare stmt from @sentence;
  execute stmt;
  deallocate prepare stmt;
END &&
DELIMITER ;
로그인 후 복사

2.复制表存储过程的编写(不带参数)

---------------------------------------------------------------
DROP PROCEDURE IF EXISTS test_pro2;
---------------------------------------------------------------
DELIMITER &&
create procedure test_pro2()
begin
    DECLARE stop_flag INT DEFAULT 0;
    DECLARE s_name TEXT default &#39;&#39;;
    DECLARE s_age INT default 0;
    
    DECLARE cur1 CURSOR FOR (select name, age from student1 where age<19);
        DECLARE CONTINUE HANDLER FOR SQLSTATE &#39;02000&#39; SET stop_flag=1;
    open cur1;
        fetch cur1 into s_name, s_age;
    while stop_flag<>1 DO
        insert into student2(name, age) values(s_name, s_age);
        fetch cur1 into s_name, s_age;
    end while;
    close cur1;
end &&
DELIMITER ;
로그인 후 복사

3.复制表存储过程的编写(带参数)

---------------------------------------------------------------
DROP PROCEDURE IF EXISTS test_pro3;
---------------------------------------------------------------
DELIMITER &&
create procedure test_pro3(IN p_age INT)
begin
    DECLARE stop_flag INT DEFAULT 0;
    DECLARE s_name TEXT default &#39;&#39;;
    DECLARE s_age INT default 0;
    
    DECLARE cur1 CURSOR FOR (select name, age from student1 where age<p_age); continue="" cur1="" declare="declare" fetch="" for="" handler="" into="" open="" set="" sqlstate="" stop_flag="1;" while="">1 DO
        insert into student2(name, age) values(s_name, s_age);
        fetch cur1 into s_name, s_age;
    end while;
    close cur1;
end &&
DELIMITER ;</p_age);>
로그인 후 복사

4.使用方式:

call test_pro1();
or
call test_pro1(123);
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

람다 표현식의 구문과 구조적 특징은 무엇입니까? 람다 표현식의 구문과 구조적 특징은 무엇입니까? Apr 25, 2024 pm 01:12 PM

람다 표현식은 이름이 없는 익명 함수이며 구문은 (parameter_list)->expression입니다. 익명성, 다양성, 커링 및 폐쇄 기능이 특징입니다. 실제 응용 프로그램에서는 람다 표현식을 사용하여 합산 함수 sum_lambda=lambdax,y:x+y와 같은 함수를 간결하게 정의하고 map() 함수를 목록에 적용하여 합산 작업을 수행할 수 있습니다.

인터넷의 기본 구조와 기술의 근원은 무엇인가? 인터넷의 기본 구조와 기술의 근원은 무엇인가? Dec 15, 2020 pm 04:48 PM

인터넷의 기본 구조와 기술은 ARPANET에서 유래되었습니다. ARPANET은 컴퓨터 네트워크 기술 발전의 이정표이며, 그 연구 결과는 네트워크 기술 발전을 촉진하고 인터넷 형성의 기반을 마련하는 데 중요한 역할을 했습니다. Arpanet(Arpanet)은 미국 국방고등연구계획국(Defense Advanced Research Projects Agency)이 개발한 세계 최초의 운용용 패킷 교환 네트워크였습니다. 글로벌 인터넷의 조상입니다.

MySQL.proc 테이블의 구조와 목적에 대한 심층 분석 MySQL.proc 테이블의 구조와 목적에 대한 심층 분석 Mar 15, 2024 pm 02:36 PM

MySQL.proc 테이블은 MySQL 데이터베이스에 저장 프로시저와 함수 정보를 저장하는 시스템 테이블이다. 그 구조와 목적에 대한 심층적인 이해를 통해 MySQL의 저장 프로시저와 함수의 작동 메커니즘을 더 잘 이해하고 관련 수행을 수행할 수 있다. 관리 및 최적화. 아래에서는 MySQL.proc 테이블의 구조와 목적을 자세히 분석하고, 구체적인 코드 예시를 제공한다. 1. MySQL.proc 테이블의 구조 MySQL.proc 테이블은 모든 저장 프로시저와 함수에 대한 정의와 관련 정보를 저장하는 시스템 테이블이다.

HTML과 CSS를 사용하여 고정된 탐색 메뉴로 레이아웃을 구현하는 방법 HTML과 CSS를 사용하여 고정된 탐색 메뉴로 레이아웃을 구현하는 방법 Oct 26, 2023 am 11:02 AM

HTML과 CSS를 사용하여 고정 탐색 메뉴가 있는 레이아웃을 구현하는 방법 최신 웹 디자인에서 고정 탐색 메뉴는 일반적인 레이아웃 중 하나입니다. 탐색 메뉴를 항상 페이지 상단이나 측면에 유지하여 사용자가 웹 콘텐츠를 편리하게 탐색할 수 있도록 합니다. 이 기사에서는 HTML과 CSS를 사용하여 고정 탐색 메뉴가 있는 레이아웃을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 웹페이지의 콘텐츠와 탐색 메뉴를 표시하는 HTML 구조를 만들어야 합니다. 다음은 간단한 예입니다.

MySQL에서 쇼핑몰의 평가 테이블 구조를 어떻게 설계하나요? MySQL에서 쇼핑몰의 평가 테이블 구조를 어떻게 설계하나요? Oct 31, 2023 am 08:27 AM

MySQL에서 쇼핑몰의 평가 테이블 구조를 어떻게 설계하나요? 쇼핑몰 시스템에서 평가는 가장 중요한 기능 중 하나이다. 평가는 다른 사용자에게 참고 자료를 제공할 뿐만 아니라 판매자가 제품에 대한 사용자의 피드백과 의견을 이해하는 데에도 도움이 됩니다. 합리적인 평가 양식 구조를 설계하는 것은 쇼핑몰 시스템 운영과 사용자 경험에 매우 중요합니다. 본 글에서는 MySQL에서 쇼핑몰의 평가 테이블 구조를 설계하는 방법을 소개하고 구체적인 코드 예시를 제공합니다. 먼저 제품 테이블과 사용자 테이블이라는 두 가지 기본 테이블을 생성해야 합니다. 상품목록(상품

Python의 일반적인 흐름 제어 구조는 무엇입니까? Python의 일반적인 흐름 제어 구조는 무엇입니까? Jan 20, 2024 am 10:38 AM

Python에는 순차 구조, 조건부 구조, 루프 구조 및 점프 구조라는 네 가지 일반적인 흐름 제어 구조가 있습니다. 다음에서는 이를 하나씩 소개하고 해당 코드 예제를 제공합니다. 순차 구조(Sequential Structure): 순차 구조는 특정 키워드나 구문 없이 위에서 아래로 미리 정해진 순서대로 프로그램이 실행되는 구조이다. 샘플 코드: print("이것은 시퀀스 구조 예제 1입니다.")print("이것은 시퀀스 구조 예제 2입니다.")print("이것은 시퀀스 구조 예제 2입니다.")

Linux 파일 시스템의 내부 구조 탐색 Linux 파일 시스템의 내부 구조 탐색 Mar 21, 2024 am 10:03 AM

제목: 리눅스 파일 시스템의 내부 구조 탐색 리눅스 운영체제는 안정성과 유연성으로 유명하며, 그 핵심 중 하나인 파일 시스템이 핵심적인 역할을 한다. Linux 파일 시스템의 내부 구조에 대한 심층적인 이해는 운영 체제의 작동 원리를 이해하는 데 도움이 될 뿐만 아니라 시스템을 더 잘 관리하고 최적화하는 데도 도움이 됩니다. 이 기사에서는 자세한 코드 예제와 설명을 통해 Linux 파일 시스템의 내부 구조를 살펴봅니다. 1. 파일 시스템 소개 파일 시스템은 컴퓨터에서 파일을 구성하고 저장하며 다음 작업을 수행하는 데 사용됩니다.

Oracle 홈 디렉토리 구조 및 관리 기술 Oracle 홈 디렉토리 구조 및 관리 기술 Mar 07, 2024 pm 04:03 PM

오라클의 홈 디렉토리 구조 및 관리 기술 업계 최고의 엔터프라이즈급 데이터베이스 관리 시스템인 오라클 데이터베이스의 홈 디렉토리 구조 및 관리 기술은 데이터베이스 관리자에게 매우 중요합니다. 이 기사에서는 Oracle 홈 디렉토리의 구조, 중요한 디렉토리 및 관리 기술을 자세히 소개하고 독자가 Oracle 데이터베이스를 더 잘 이해하고 관리할 수 있도록 구체적인 코드 예제를 제공합니다. Oracle 홈 디렉토리 구조 Oracle 데이터베이스에서 홈 디렉토리에는 다음 두 가지 중요한 디렉토리가 포함됩니다. ORACLE_BA

See all articles