最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL存儲(chǔ)結(jié)構(gòu)用法案例分析

 更新時(shí)間:2018年07月04日 11:55:56   作者:Q-WHai  
這篇文章主要介紹了MySQL存儲(chǔ)結(jié)構(gòu)用法,結(jié)合具體案例形式分析了mysql存儲(chǔ)結(jié)構(gòu)相關(guān)使用方法與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了MySQL存儲(chǔ)結(jié)構(gòu)用法。分享給大家供大家參考,具體如下:

前言

今天公司老大讓我做一個(gè)MySQL的調(diào)研工作,是關(guān)于MySQL的存儲(chǔ)結(jié)構(gòu)的使用。這里我會(huì)通過(guò)3個(gè)例子來(lái)介紹一下MySQL中存儲(chǔ)結(jié)構(gòu)的使用過(guò)程,以及一些需要注意的點(diǎn)。

筆者環(huán)境

系統(tǒng):Windows 7

MySQL:MySQL 5.0.96

準(zhǔn)備工作

1.新建兩張數(shù)據(jù)表: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中新增數(shù)據(jù)

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);

實(shí)現(xiàn)功能說(shuō)明

1.打印student1中的部分信息

2.把student1中的部分?jǐn)?shù)據(jù)復(fù)制到student2中

3.傳入?yún)?shù)作為限制條件,把student1中的部分?jǐn)?shù)據(jù)復(fù)制到student2中

注意事項(xiàng)

在編寫(xiě)存儲(chǔ)結(jié)構(gòu)的時(shí)候,我們不能以分號(hào)(;)結(jié)束。因?yàn)槲覀兊腟QL語(yǔ)句就是以分號(hào)(;)結(jié)尾的。這里我們要修改一下存儲(chǔ)結(jié)構(gòu)的結(jié)束符號(hào)(&&)。

這里我們使用MySQL中的DELIMITER進(jìn)行修改,并在存儲(chǔ)結(jié)構(gòu)創(chuàng)建完畢時(shí),再改為分號(hào)(;)結(jié)束即可。

關(guān)于這一點(diǎn)在后面的例子中有所體現(xiàn)。在編寫(xiě)MySQL的觸發(fā)器中,也會(huì)用到類(lèi)似的情況。

使用方式

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.復(fù)制表存儲(chǔ)過(guò)程的編寫(xiě)(不帶參數(shù))

---------------------------------------------------------------
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.復(fù)制表存儲(chǔ)過(guò)程的編寫(xiě)(帶參數(shù))

---------------------------------------------------------------
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);
    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 ;

這里的SQLSTATE '02000'和NOT FOUND系統(tǒng)返回值是一樣的。

4.使用方式

call test_pro1();

or

call test_pro1(123);

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • mysql約束和高級(jí)sql詳解

    mysql約束和高級(jí)sql詳解

    文章介紹了MySQL中的約束類(lèi)型(如主鍵、外鍵、唯一約束、非空約束、檢查約束、默認(rèn)值和自增)以及高級(jí)SQL功能(如子查詢(xún)、連接、事務(wù)和存儲(chǔ)過(guò)程),感興趣的朋友一起看看吧
    2024-11-11
  • mysql主從同步復(fù)制錯(cuò)誤解決一例

    mysql主從同步復(fù)制錯(cuò)誤解決一例

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
    2011-05-05
  • mybatis分頁(yè)插件pageHelper詳解及簡(jiǎn)單實(shí)例

    mybatis分頁(yè)插件pageHelper詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了mybatis分頁(yè)插件pageHelper詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 創(chuàng)建一個(gè)實(shí)現(xiàn)Disqus評(píng)論模版的MySQL模型

    創(chuàng)建一個(gè)實(shí)現(xiàn)Disqus評(píng)論模版的MySQL模型

    這篇文章主要介紹了創(chuàng)建一個(gè)實(shí)現(xiàn)Disqus評(píng)論模版的MySQL模型,Disqus網(wǎng)站的數(shù)據(jù)庫(kù)采用PostgreSQL,而作者則以MySQL來(lái)實(shí)現(xiàn),需要的朋友可以參考下
    2015-06-06
  • MySQL into_Mysql中replace與replace into用法案例詳解

    MySQL into_Mysql中replace與replace into用法案例詳解

    這篇文章主要介紹了MySQL into_Mysql中replace與replace into用法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Mysql索引會(huì)失效的幾種情況分析

    Mysql索引會(huì)失效的幾種情況分析

    在做項(xiàng)目的過(guò)程中,難免會(huì)遇到明明給mysql建立了索引,可是查詢(xún)還是很緩慢的情況出現(xiàn),下面我們來(lái)具體分析下這種情況出現(xiàn)的原因及解決方法
    2014-06-06
  • mysql父子集查詢(xún)(根據(jù)父級(jí)查詢(xún)所有子集)

    mysql父子集查詢(xún)(根據(jù)父級(jí)查詢(xún)所有子集)

    某些場(chǎng)景可能需要維護(hù)一些有父子關(guān)系的數(shù)據(jù),本文主要介紹了mysql父子集查詢(xún)(根據(jù)父級(jí)查詢(xún)所有子集),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • MySQL控制用戶(hù)輸錯(cuò)密碼嘗試次數(shù)

    MySQL控制用戶(hù)輸錯(cuò)密碼嘗試次數(shù)

    這篇文章主要介紹了MySQL如何控制用戶(hù)輸錯(cuò)密碼嘗試次數(shù),文中給大家提到了死鎖監(jiān)控方法及處理方案,需要的朋友可以參考下
    2019-11-11
  • 設(shè)置MySQLroot賬戶(hù)密碼報(bào)錯(cuò)ERROR 1064 (42000): You have an error in your SQL syntax;的解決方案

    設(shè)置MySQLroot賬戶(hù)密碼報(bào)錯(cuò)ERROR 1064 (42000): You 

    在安裝mysql的時(shí)候,設(shè)置root賬戶(hù)密碼出現(xiàn)了ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds..錯(cuò)誤,本文小編給大家介紹了相關(guān)的解決方案,需要的朋友可以參考下
    2023-12-12
  • mysql學(xué)習(xí)筆記之?dāng)?shù)據(jù)引擎

    mysql學(xué)習(xí)筆記之?dāng)?shù)據(jù)引擎

    插件式存儲(chǔ)引擎是MySQL數(shù)據(jù)庫(kù)最重要的特征之一,用戶(hù)可以根據(jù)應(yīng)用的需要尋找如何存儲(chǔ)和索引數(shù)據(jù)、是否使用事務(wù)等。MySQL默認(rèn)支持多種存儲(chǔ)引擎,以適用于不同領(lǐng)域的數(shù)據(jù)庫(kù)應(yīng)用需求,用戶(hù)可以通過(guò)選擇選擇不同的存儲(chǔ)引擎提供應(yīng)用的效率,提供靈活的存儲(chǔ)
    2017-02-02

最新評(píng)論

石阡县| 宁化县| 巴彦县| 满城县| 佛坪县| 新平| 天水市| 林西县| 垣曲县| 寿宁县| 吉首市| 策勒县| 伊宁市| 教育| 白山市| 鹤岗市| 搜索| 伽师县| 水富县| 兴宁市| 太仓市| 芮城县| 巴塘县| 永兴县| 普兰店市| 新昌县| 琼中| 华阴市| 合川市| 南康市| 邢台市| 若羌县| 无为县| 崇文区| 武夷山市| 南投县| 高州市| 龙江县| 遂溪县| 合水县| 兴国县|