MySQL存储结构的使用_MySQL
前言:
今天公司老大让我做一个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 = 'select * from student1 where age<19;'; 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 ''; DECLARE s_age INT default 0; DECLARE cur1 CURSOR FOR (select name, age from student1 where age<19); DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' 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 ''; 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);

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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

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