版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章
数据查询本章概述数据查询是数据库操作中最常用也是最重要的操作,是指从数据库中获取所需要的数据。在MySQL中使用SELECT语句来查询数据。通过SELECT语句查询数据,有不同的查询方式。不同的查询方式可以获得不同的数据,开发人员可以根据需求选择不同的查询方式。本章学习目标掌握SELECT查询的语法结构,通过SELECT语句查询所有字段、指定字段和指定数据的操作;掌握按条件查询数据的方法;掌握常用的高级查询方式,例如,对查询结果排序、分组查询、使用LIMIT限制查询;掌握在查询过程中使用聚合函数进一步对查询结果进行加工;了解连接查询、子查询的操作,以及合并查询结果;掌握在查询过程中定义表和字段的别名;掌握常用的正则表达式在查询中的应用。目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09基本查询语句7.1.1SELECT语句SELECT语句是最常用的查询语句,它的使用方式有简单的,也有复杂的。SELECT语句的基本语法如下。SELECTselectionlist//要查询的内容,选择哪些列FROM数据表名//指定数据表WHEREprimary_constraint//查询时需要满足的条件,行必须满足的条件GROUPBYgrouping_columns//如何对结果进行分组ORDERBYsortingcloumns//如何对结果进行排序HAVINGsecondary_constraint//查询时满足的第二条件LIMITcount//限定输出的查询结果基本查询语句7.1.1SELECT语句-使用SELECT语句查询单个数据表使用SELECT语句从某个数据表查询数据时,首先要确定要查询的列。“*”代表所有的列。例如,查询db_library数据库的tb_admin表中的所有数据,代码如下。USEdb_library;SELECT*FROMtb_admin;查询结果如图所示。基本查询语句7.1.1SELECT语句-查询数据表中的指定列查询数据表中的多列,只要在SELECT后面指定要查询的列名即可,多列之间用“,”分隔。例如,查询tb_admin表中的admin_id和username列数据:SELECTadmin_id,usernameFROMtb_admin;查询结果如图所示。基本查询语句7.1.1SELECT语句-从一个或多个表中获取数据确定所要查询的数据在哪个表中,在对多个表进行查询时,同样使用“,”对多个表进行分隔。例如,从tb_book表和tb_category表中查询出tb_book.book_id、tb_book.bookname、tb_category.cat_name和tb_book.price字段的值:SELECTtb_book.book_id,tb_book.bookname,tb_category.cat_name,tb_book.pricefromtb_category,tb_bookWHEREtb_book.cat_id=tb_category.cat_id;查询结果如图所示。基本查询语句7.1.2查询所有字段确定所要查询的数据在哪个表中,在对多个表进行查询时,同样使用“,”对多个表进行分隔。例如,从tb_book表和tb_category表中查询出tb_book.book_id、tb_book.bookname、tb_category.cat_name和tb_book.price字段的值:SELECTtb_book.book_id,tb_book.bookname,tb_category.cat_name,tb_book.pricefromtb_category,tb_bookWHEREtb_book.cat_id=tb_category.cat_id;查询结果如图所示。基本查询语句7.1.3查询指定字段查询指定字段的数据可以使用下面的语法格式:SELECT字段名FROM表名;如果查询多个字段,可以使用“,”对字段进行分隔。例如,查询图书信息表tb_book中图书的名称、作者、价格、图书唯一识别码:SELECTbookname,author,price,ISBNFROMtb_book;基本查询语句7.1.4查询指定数据如果要从很多记录中查询出指定的记录,则需要设定查询的条件。设定查询条件应用的是WHERE子句,该子句可以实现很多复杂的条件查询。例如,查询名称为Romero的管理员:SELECT*FROMtb_adminWHEREusername='Romero';目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09按条件查询7.2.1带关系运算符的查询带关系运算符的查询,也就是将MySQL支持的关系运算符引入数据库查询中。例如,从图书管理数据库db_library的图书信息表tb_book中,查询定价price大于40元的图书。语句如下:SELECTbookname,author,priceFROMtb_bookWHEREprice>40;按条件查询7.2.2带IN关键字的查询关键字IN可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件,返回该字段所属记录;如果不在集合中,则不满足查询条件,不返回该记录。语法格式如下。SELECT*FROM表名WHERE条件[NOT]IN(元素1,元素2,…,元素n);例如:SELECTbook_id,bookname,authorFROMtb_bookWHEREauthorIN('明日科技','刘丹冰');按条件查询7.2.3带BETWEENAND关键字的查询关键字BETWEENAND可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则满足查询条件,该记录将被查询出来;如果不在指定范围内,则不满足查询条件。其语法如下。SELECT*FROM表名WHERE条件[NOT]BETWEEN取值1AND取值2;例如:SELECTbookname,author,priceFROMtb_bookWHEREpriceBETWEEN30AND40;按条件查询7.2.4空值查询ISNULL关键字可以用来判断字段的值是否为空值(NULL)。例如,为图书信息表tb_book添加test字段,然后插入若干数据值,语句如下:ALTERTABLEtb_bookADDtestVARCHAR(50)NULL;按条件查询7.2.5用关键字DISTINCT去除结果中的重复行使用DISTINCT关键字可以去除查询结果中的重复记录,语法格式如下。SELECTDISTINCT字段名FROM表名;例如,要查看tb_book表中有哪些书架上有书,语句如下:SELECTDISTINCTbookcaseFROMtb_book;按条件查询7.2.6带LIKE关键字的查询LIKE属于较常用的比较运算符,可用于实现模糊查询。它有两种通配符:“%”和下画线“_”。“%”可以匹配一个或多个字符,可以代表任意长度的字符串,长度可以为0。例如,“明%技”表示以“明”开头、以“技”结尾的任意长度的字符串。该字符串可以代表明日科技、明日编程科技、明日图书科技等字符串。“_”只匹配一个字符。例如,m_n表示以m开头、以n结尾的3个字符。中间的“_”可以是任意一个字符。按条件查询7.2.7带AND关键字的多条件查询AND关键字可以用来联合多个条件进行查询。使用AND关键字时,只有同时满足所有查询条件的记录才会被查询出来;如果不满足查询条件中的一个,那么这样的记录将被排除。AND关键字的语法格式如下。SELECT*FROM数据表名WHERE条件1AND条件2[…AND条件表达式n];判断输入的管理员账号和密码是否存在:SELECTbook_id,bookname,authorFROMtb_bookWHEREbooknameLIKE'%GO%'ANDauthor='刘丹冰';按条件查询7.2.8带OR关键字的多条件查询使用OR关键字时,只要满足查询条件中的一个,那么此记录就会被查询出来。例如,根据作者查询图书信息:SELECTbook_id,bookname,authorFROMtb_bookWHEREauthor='明日科技'ORauthor='刘丹冰';目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询097.3高级查询 使用ORDERBY关键字可以对查询的结果进行升序(ASC)或降序(DESC)排列。ORDERBY字段名[ASC|DESC];ASC表示按升序排列,DESC表示按降序排列。例如:SELECTbook_id,bookname,priceFROMtb_bookORDERBYpriceDESC;7.3.1对查询结果排序7.3高级查询 GROUPBY子句可以将数据划分到不同的组中,实现对记录进行分组查询。例如:使用GROUPBY关键字对tb_book表中bookcase字段进行分组查询,语句如下。SELECTbookcase,COUNT(*)FROMtb_bookGROUPBYbookcase;此外,还可以按多个字段进行分组。7.3.2分组查询7.3高级查询 LIMIT子句可以对查询结果的记录条数进行限定,控制输出的行数。例如:SELECTbook_id,bookname,priceFROMtb_bookORDERBYpriceDESCLIMIT3;7.3.3使用LIMIT限制查询结果数量目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09聚合函数查询返回选择集合中所有行的数目,包含NULL值的行:SELECTCOUNT(*)FROMtb_book;COUNT函数聚合函数查询SUM()函数可以求出表中某个数值类型字段取值的总和。例如:使用SUM()函数统计tb_book表中总金额字段(total)的总和,语句如下。SELECTSUM(total)FROMtb_book;SUM函数聚合函数查询AVG()函数可以求出表中某个数值类型字段取值的平均值。例如:使用AVG()函数求tb_book表中图书价格(price)字段值的平均值,语句如下。SELECTAVG(price)FROMtb_book;AVG函数聚合函数查询MAX()函数可以求出表中某个数值类型字段取值的最大值。例如,使用MAX()函数查询tb_book表中price字段值的最大值,语句如下。SELECTMAX(price)FROMtb_book;MAX函数聚合函数查询使用MIN()函数查询tb_book表中price字段值的最小值。查询语句如下。SELECTMIN(price)FROMtb_book;MIN函数目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09连接查询内连接(INNERJOIN)是SQL中的一种连接类型,用于将两个或多个表中的记录根据某个条件进行匹配,并返回匹配的记录。内连接可以分为几种类型:等值连接。在连接条件中使用等于号(=)运算符比较被连接列的列值。非等值连接。在连接条件中使用除等于运算符以外的其他比较运算符,如大于、小于等。自连接。将一张表看作两张表,通过别名区分,然后进行连接查询。内连接查询连接查询【例7-22】使用内连接查询图书的借阅信息。代码如下。SELECTtb_borrow.book_id,tb_book.bookname,tb_borrow.borrowTime,tb_borrow.backTime,tb_borrow.ifbackFROMtb_book,tb_borrowWHEREtb_borrow.book_id=tb_book.book_id;内连接查询连接查询外连接(OuterJoin)是一种SQLJOIN操作,它允许从一个表中选择所有的记录,而无论在另一个表中是否有匹配的记录。如果记录在另一个表中没有匹配,那么结果集中的值为NULL。在左外连接查询时,查询左表所有数据,以及两张表交集部分的数据。语法格式如下:SELECT字段列表FROM表1LEFTOUTERJOIN表2ON条件…;右外连接(RIGHTJOIN)和左外连接恰好相反。右外连接包括右边的所有数据,以及两张表交集部分数据。表中不符合条件的数据,在相应列中填充NULL值。外连接查询目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09子查询IN运算符可以检测结果集中是否存在某个特定的值,如果检测成功,则执行外部的查询。SELECTbook_id,bookname,authorFROMtb_bookWHEREbook_idIN(SELECTbook_idFROMtb_borrow);带IN关键字的子查询子查询从归还表tb_back中查询图书编号book_id等于1002的管理员(operator),然后查询tb_admin表中姓名username为该管理员的信息,代码如下。SELECT*FROMtb_adminWHEREusername=(SELECToperatorFROMtb_backWHEREbook_id=1002);带比较运算符的子查询子查询应用带EXISTS关键字的子查询实现查询已经被借阅的图书的信息,代码如下。SELECTbook_id,bookname,authorFROMtb_bookWHEREEXISTS(SELECT*FROMtb_borrowWHEREtb_borrow.book_id=tb_book.book_id);带EXISTS关键字的子查询子查询。使用ANY关键字时,只要满足内层查询语句返回的结果中的任意一个,就可以通过该条件来执行外层查询语句。语法格式如下。列名比较运算符ANY(子查询)例如,从图书信息表tb_book中查询出非最低价格的全部图书信息,主要是通过带ANY关键字的子查询实现查询非最低图书价格的图书信息,示例代码如下。SELECTbook_id,bookname,author,priceFROMtb_bookWHEREprice>ANY(SELECTMin(price)FROMtb_book);带ANY关键字的子查询子查询使用ALL关键字时,只有满足内层查询语句返回的所有结果,才可以执行外层查询语句。语法格式如下。列名比较运算符ALL(子查询)例如,查询比图书编号1001价格高的全部图书信息,主要是通过带ALL关键字的子查询实现,示例代码如下。SELECTbook_id,bookname,author,priceFROMtb_bookWHEREprice>ALL(SELECTpriceFROMtb_bookWHEREbook_id=1001);带ALL关键字的子查询目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09合并查询结果使用UNION关键字可以将多个结果集合并到一起,并且会去除相同记录。假设有一个与归还表tb_back结构相同的数据表tb_back_copy1,查询结果如图所示。7.7.1使用UNION关键字合并查询结果下面使用UNION关键字合并两个表的查询结果,语句如下。SELECT*FROMtb_backUNIONSELECT*FROMtb_back_copy1;查询结果如图所示。结果显示,所有结果被合并,重复值被去除。7.7.1使用UNION关键字合并查询结果UNIONALL关键字的使用方法类似于UNION关键字,也是将多个结果集合并到一起,但是该关键字不会去除相同记录。下面使用UNIONALL关键字合并查询结果,但是不去除重复值,代码如下。SELECT*FROMtb_backUNIONALLSELECT*FROMtb_back_copy1;7.7.2使用UNIONALL关键字目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09定义表和字段的别名使用左连接查询实现查询图书的完整信息,并为图书信息表tb_book指定别名为book,为图书类别表tb_category指定别名为category。具体代码如下。SELECTbook.bookname,book.author,category.cat_nameFROMtb_bookASbookLEFTJOINtb_categoryAScategoryONbook.cat_id=category.cat_id;7.8.1为表取别名定义表和字段的别名MySQL中为字段取别名的基本形式如下。字段名[AS]别名实现统计每本图书的借阅次数,并取别名为degree。在COUNT(*)后面接上AS关键字和别名degree即可,修改后的代码如下。SELECTbook_id,COUNT(*)ASborrow_numbersFROMtb_borrowGROUPBYbook_id;7.8.2为字段取别名目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09使用正则表达式查询在MySQL中,使用关键字REGEXP来匹配查询正则表达式,其基本形式如下。字段名REGEXP'匹配方式'例如,从tb_admin表username字段中查询包含a、e、i、o和u这5个字母的任意一个的记录,代码如下。SELECTadmin_id,usernameFROMtb_adminWHEREusernameREGEXP'[aeiou]';本章小结本章对MySQL数据库常见的查询方法进行了详细讲解,并通过大量的举例说明,帮助读者更好地理解所学知识的用法。在阅读本章时,读者应该重点掌握单表查询、连接查询、子查询和合并查询结果。本章学习的难点是使用正则表达式来查询。正则表达式的功能很强大,使用起来很灵活。希望读者能够查阅正则表达式的相关资料,以更加透彻地理解正则表达式。谢谢观看汇报人:秒出PPT第8章MySQL函数本章概述MySQL提供了众多功能强大、方便易用的函数。使用这些函数可以极大地提高用户对数据库的管理效率。MySQL中的函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数。本章学习目标了解什么是MySQL的函数掌握各种数学函数的用法掌握各种字符串函数的用法掌握时间和日期函数的用法掌握条件函数的用法掌握系统信息函数的用法掌握加密函数的用法熟练掌握综合案例中函数的操作方法和技巧目录01020304字符串函数数学函数日期和时间函数MySQL函数简介05条件判断函数06系统信息函数07加密函数窗口函数08本章小结09目录01MySQL函数简介020304字符串函数数学函数日期和时间函数05条件判断函数06系统信息函数07加密函数窗口函数08本章小结09MySQL函数简介函数表示对输入参数值返回一个具有特定关系的值。MySQL提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到各种函数。通过对数据的处理,数据库功能可以变得更加强大,更加灵活地满足不同用户的需求。各类函数从功能方面主要分为:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数。目录02数学函数010304字符串函数日期和时间函数MySQL函数简介05条件判断函数06系统信息函数07加密函数窗口函数08本章小结09数学函数函数名功能描述ABS(X)返回X的绝对值PI()返回圆周率SQRT(x)返回非负数x的二次方根MOD(x,y)返回x被y除后的余数CEIL(x)和CEILING(x)返回不小于x的最小整数值FLOOR(x)返回不大于x的最大整数值RAND(x)返回一个随机浮点值v,范围在0到1之间(0≤v≤1.0)。若已指定一个整数参数x,则它被用作种子值,用来产生重复序列RAND(x)产生随机数ROUND(x)返回最接近于参数x的整数,对x值进行四舍五入ROUND(x,y)返回最接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位TRUNCATE(x,y)对操作数x进行截取操作,结果保留小数点后面指定y位SIGN(x)返回参数的符号,x的值为负、零或正时返回结果依次为-1、0或1POW(x,y)和POWER(x,y)返回x的y次乘方的结果值EXP(x)返回以e为底的x次方LOG(x)返回x的自然对数,x相对于基数e的对数LOG10(x)返回x的基数为10的对数RADIANS(x)将参数x由角度转化为弧度DEGREES(x)将弧度x转换为角度SIN(x)返回x正弦,其中x为弧度值ASIN(x)计算反正弦值COS(x)返回x的余弦,其中x为弧度值ACOS(x)返回x的反余弦值,其中x为弧度值TAN(x)返回x的正切,其中x为给定的弧度值ATAN(x)返回x的反正切,即正切为x的值COT(x)返回x的余切目录03字符串函数010204数学函数日期和时间函数MySQL函数简介05条件判断函数06系统信息函数07加密函数窗口函数08本章小结09字符串函数字符串函数主要用来处理数据库中的字符串数据,MySQL中的字符串函数有:计算字符串字符数的函数和计算字符串长度的函数CHAR_LENGTH(str)合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…)替换字符串的函数INSERT(s1,x,len,s2)和字母大小写转换函数获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)删除空格的函数LTRIM(s)和RTRIM(s)重复生成字符串的函数REPEAT(s,n)空格函数SPACE(n)和替换函数REPLACE(s,s1,s2)比较字符串大小的函数STRCMP(s1,s2)获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len)匹配子串开始位置的函数LOCATE(str1,str)、POSITION(str1INstr)和INSTR(str,str1)字符串逆序的函数REVERSE(s)返回指定位置的字符串的函数……目录04日期和时间函数010203字符串函数数学函数MySQL函数简介05条件判断函数06系统信息函数07加密函数窗口函数08本章小结09日期和时间函数获取当前日期的函数和获取当前时间的函数CURDATE()和CURRENT_DATE()获取当前日期和时间的函数CURRENT_TIMESTAMP()、LOCALTIME()、NOW()和SYSDATE()UNIX时间戳函数UNIX_TIMESTAMP(date)返回UTC日期的函数和返回UTC时间的函数获取月份的函数MONTH(date)和MONTHNAME(date)获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d)获取星期数的函数WEEK(d)和WEEKOFYEAR(d)获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d)获取年份、季度、小时、分钟和秒钟的函数获取日期的指定值的函数EXTRACT(typeFROMdate)时间和秒钟转换的函数TIME_TO_SEC(time)计算日期和时间的函数有DATE_ADD()、ADDDATE()、DATE_SUB()、SUBDATE()、ADDTIME()、SUBTIME()和DATE_DIFF()将日期和时间格式化的函数DATE_FORMAT(date,format)目录05条件判断函数01020304字符串函数数学函数日期和时间函数MySQL函数简介06系统信息函数07加密函数窗口函数08本章小结09条件判断函数条件判断函数也称为控制流程函数,根据满足的条件的不同,执行相应的流程。MySQL中进行条件判断的函数有IF、IFNULL和CASE。IF(expr,v1,v2),若表达式expr是TRUE(expr<>0andexpr<>NULL),则IF()的返回值为v1;否则返回值为v2。IFNULL(v1,v2),若v1不为NULL,则IFNULL()的返回值为v1;否则其返回值为v2。CASEexprWHENv1THENr1[WHENv2THENr2][ELSErn]END该函数表示,若expr值等于某个vn,则返回对应位置THEN后面的结果;若与所有值都不相等,则返回ELSE后面的rn。目录06系统信息函数01020304字符串函数数学函数日期和时间函数MySQL函数简介05条件判断函数07加密函数窗口函数08本章小结09系统信息函数本节将介绍常用的系统信息函数,MySQL中的系统信息有数据库的版本号、当前用户名和连接数、系统字符集、最后一个自动生成的ID值等。连接数和数据库名的函数VERSION()返回指示MySQL服务器版本的字符串。这个字符串使用utf8字符集。USER()、CURRENT_USER、CURRENT_USER()、SYSTEM_USER()和SESSION_USER()这几个函数返回当前被MySQL服务器验证的用户名和主机名组合。CHARSET(str)返回字符串str自变量的字符集。目录07加密函数01020304字符串函数数学函数日期和时间函数MySQL函数简介05条件判断函数06系统信息函数窗口函数08本章小结09加密函数加密函数主要用来对数据进行加密和界面处理,以保证某些重要数据不被别人获取。这些函数在保证数据库安全时非常有用。MD5(str)为字符串算出一个MD5128比特校验和。该值以32位十六进制数字的二进制字符串形式返回,若参数为NULL,则返回NULL。SHA(str)从原明文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL。SHA加密算法比MD5更加安全。SHA2(str,hash_length)使用hash_length作为长度,加密str。hash_length支持值224、256、384、512和0,其中0等同于256。目录窗口函数08本章小结0901020304字符串函数数学函数日期和时间函数MySQL函数简介05条件判断函数06系统信息函数07加密函数窗口函数在MySQL8.0版本中,新增了一个窗口函数,用它可以实现很多新的查询方式。窗口函数类似于SUM()、COUNT()这样的集合函数,但它并不会将多行查询结果合并为一行,而是将结果放回多行中。也就是说,窗口函数是不需要GROUPBY的。目录本章小结0901020304字符串函数数学函数日期和时间函数MySQL函数简介05条件判断函数06系统信息函数07加密函数窗口函数08本章小结本章对MySQL数据库常见的函数进行了详细讲解,并通过大量的举例说明,帮助读者更好地理解所学函数的用法。在阅读本章时,读者应该重点掌握字符串函数、日期和时间函数、条件判断函数、系统信息函数。在实际开发中,这些函数都是配合SELECT查询语句进行使用。谢谢观看汇报人:秒出PPT第9章
运算符本章概述运算符是用来连接表达式中各个操作数的符号,用于对操作数所进行的运算。MySQL数据库支持使用运算符,通过运算符可以更加灵活地使用表中的数据。MySQL运算符包括4类,分别是算术运算符、比较运算符、逻辑运算符和位运算符。本章主要讲解运算符及其优先级。本章学习目标掌握算术运算符、比较运算符、逻辑运算符和位运算符在数据库查询中的使用;了解各运算符的优先级。目录01020304比较运算符算术运算符逻辑运算符运算符概述05位运算符06运算符的优先级07运算符综合示例本章小结08目录01运算符概述020304比较运算符算术运算符逻辑运算符05位运算符06运算符的优先级07运算符综合示例本章小结08运算符概述MySQL支持的运算符包括:算术运算符、比较运算符、逻辑运算符和位运算符。(1)算术运算符:包括加、减、乘、除和求余运算符,主要用于数值计算,其中,求余运算也称为模运算。(2)比较运算符:包括大于、小于、等于、不等于和空运算符,主要用于数值的比较、字符串的匹配等。另外,LIKE、IN、BETWEENAND和ISNULL、NULL等都是比较运算符,以及用于使用正则表达式的REGEXP也是比较运算符。(3)逻辑运算符:包括与、或、非和异或运算符。这种运算的结果只返回真值(1或true)和假值(0或false)。(4)位运算符:包括按位与、按位或、按位异或、按位左移和按位右移运算符。这些运算都必须先把数值转换成二进制,然后在二进制数上进行操作。目录02算术运算符01运算符概述0304比较运算符逻辑运算符05位运算符06运算符的优先级07运算符综合示例本章小结08算术运算符符号表达式的形式作用+x1+x2+...+xn加法运算-x1-x2-…-xn减法运算*x1*x2*…*xn乘法运算/x1/x2除法运算,返回x1除以x2的商DIVx1DIVx2除法运算,返回商,同“/”%x1%x2求余运算,返回x1除以x2的余数MODMOD(x1,x2)求余运算,返回余数,同“%”算术运算符算术运算符最常用的一类运算符。算术运算符包括加、减、乘、除、除余。各算术运算符的符号、表达式的形式。符号表达式的形式作用+x1+x2+...+xn加法运算-x1-x2-…-xn减法运算*x1*x2*…*xn乘法运算/x1/x2除法运算,返回x1除以x2的商DIVx1DIVx2除法运算,返回商,同“/”%x1%x2求余运算,返回x1除以x2的余数MODMOD(x1,x2)求余运算,返回余数,同“%”目录03比较运算符010204算术运算符逻辑运算符运算符概述05位运算符06运算符的优先级07运算符综合示例本章小结08比较运算符SELECT语句中的条件语句经常要用到比较运算符。通过比较运算符可以判断表中的哪些记录是符合条件的。符号表达式的形式作用=x1=x2判断x1是否等于x2<>或!=x1<>x2或x1!=x2判断x2是否不等于x2<=>x1<=>x2判断x2是否等于x2>x1>x2判断x1是否大于x2>=x1>=x2判断x1是否大于等于x2<x1<x2判断x1是否小于x2<=x1<=x2判断x1是否小于等于x2ISNULLx1isNULL判断x1是否等于NULLISNOTNULLx1isNOTNULL判断x1是否不等于NULLBETWEENANDx1BETWEENmANDn判断x1的取值是否落在m和n之间INx1IN(值1,值2,…,值n)判断x1的取值是不是值1到值n中的一个LIKEx1LIKE表达式判断x1是否与表达式匹配REGEXPx1REGEXP正则表达式判断x1是否与正则表达式匹配目录04逻辑运算符05位运算符06运算符的优先级07运算符综合示例本章小结08010203比较运算符算术运算符运算符概述逻辑运算符逻辑运算符用来判断表达式的真假,返回结果只有1和0。如果表达式是真,结果就返回1;如果表达式是假,结果就就返回0。逻辑运算符又称为布尔运算符。MySQL支持4种逻辑运算符,分为是与、或、非和异或。符号表达式形式描述AND(&&)x1ANDx2与OR(||)x1ORx2或NOT(!)NOTx2非XORx1XORx2异或目录05位运算符06运算符的优先级07运算符综合示例本章小结0801020304比较运算符算术运算符逻辑运算符运算符概述位运算符位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制,再进行位运算,最后将计算结果从二进制数变回十进制数。在MySQL中支持6种位运算符,分别是按位与、按位或、按位取反、按位异或、按位左移和按位右移。目录06运算符的优先级07运算符综合示例本章小结0801020304比较运算符算术运算符逻辑运算符运算符概述05位运算符运算符的优先级优先级运算符1!2~3^4*、/、DIV、%、MOD5+、-6>>、<<7&8|9=、<=>、<、<=、>、>=、!=、<>、IN、ISNULL、LIKE、REGEXP10BETWEENAND、CASE、WHEN、THEN、ELSE11NOT12&&、AND13||、OR、XOR14:=目录07运算符综合示例本章小结0801020304比较运算符算术运算符逻辑运算符运算符概述05位运算符06运算符的优先级运算符综合示例(1)创建tb_test表(2)使用INSERT向表中插入一条记录(3)从tb_test表中取出num值进行加法、减法、乘法、除法和求余运算(4)使用比较运算符将num值与其他数据进行比较(5)判断num是否落在30~49之间,并且判断num的值是否在(10,20,30,40,50)这个集合中(6)判断tb_test表的info字段的值是否为空,用LIKE来判断是否以“five”这两个字母开头,用REGEXP来判断第一个字母是否是f,最后一个字母是s(7)逻辑运算包括与、或、非和异或4种,分别将任意数字和NULL中的任意两个进行逻辑运算,进行与和或运算(8)将数字6和10进行按位与、按位或运算,并将11按位取反(9)将数字16左移两位、数字15右移两位目录本章小结0801020304比较运算符算术运算符逻辑运算符运算符概述05位运算符06运算符的优先级07运算符综合示例本章小结本章介绍了MySQL中的运算符。在MySQL中包括4类运算符,分别是算术运算符、比较运算符、逻辑运算符和位运算符。前3种运算符在实际操作中使用比较频繁,也是本章重点讲述的内容。因此,读者需要认真学习这部分的内容。位运算符是本章的难点。因为位运算符需要将操作数转换为二进制数,然后进行位运算。这要求读者掌握二进制运算的相关知识。位运算符在实际操作中使用的频率比较低。谢谢观看汇报人:秒出PPT第10章
视图本章概述数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据来自于由定义视图查询所引用的表,并且在引用视图时动态生成。本章将结合实例来介绍视图的含义、视图的作用、创建视图、查看视图、修改视图、更新视图和删除视图等内容。本章学习目标了解视图的含义和作用;掌握创建视图的方法,包括在单表上创建视图和在多表上创建视图;熟悉如何查看视图,包括通过DESCRIBE和通过SHOWTABLESTATUS查看视图基本信息,通过SHOWCREATEVIEW和在views表中查看视图的详细信息;掌握修改视图的方法,包括通过CREATEORRELPLACEVIEW、ALTER语句修改视图;掌握更新视图的方法,包括INSERT、UPDATE和DELETE三种更新方式;掌握删除视图的方法,主要通过DROPVIEW语句实现;掌握综合案例中视图应用的方法和技巧。目录01020304查看视图创建视图修改视图视图概述05更新视图06删除视图07视图应用本章小结08目录01视图概述020304查看视图创建视图修改视图05更新视图06删除视图07视图应用本章小结08视图概述视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中,用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE语句修改记录。从MySQL5.0开始可以使用视图,视图可以使用户操作方便,而且可以保障数据库系统的安全。与直接从数据表中读取相比,视图有以下优点:简单化安全性逻辑数据独立性。目录02创建视图01视图概述0304查看视图修改视图05更新视图06删除视图07视图应用本章小结08创建视图视图中包含SELECT查询的结果,因此视图的创建基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上。创建视图使用CREATEVIEW语句,基本语法格式如下:CREATE[ORREPLACE][ALGORITHM=(UNDEFINED|MERGE|TEMPTABLE)]VIEWview_name[(column_list]ASSELECTstatement[WITH[CASCADED|LOCAL]CHECKOPTION]其中,CREATE表示创建新的视图;REPLACE表示替换已经创建的视图;ALGORITHM表示视图选择的算法;view_name为视图的名称,column_list为属性列;SELECT_statement表示SELECT语句;WITH[CASCADED|LOCAL]CHECKOPTION参数表示视图在更新时保证在视图的权限范围之内。创建视图MySQL可以在单个数据表上创建视图。【例10-1】在Z表上创建一个名为view_Z的视图,代码如下:(1)首先创建基本表并插入数据,语句如下:CREATETABLEZ(quantityINT,priceFLOAT);INSERTINTOZVALUES(3,50);运行结果如图所示。创建视图MySQL可以在单个数据表上创建视图。【例10-1】在Z表上创建一个名为view_Z的视图,代码如下:(1)首先创建基本表并插入数据,语句如下:CREATETABLEZ(quantityINT,priceFLOAT);INSERTINTOZVALUES(3,50);运行结果如图1所示。(2)创建视图,然后查询视图,语句如下:CREATEVIEWview_ZASSELECTquantity,price,quantity*priceFROMZ;SELECT*FROMview_Z;执行结果如图2所示。图2图1创建视图MySQL中也可以在两个或者两个以上的表上创建视图,可以使用CREATEVIEW语句实现。【例10-3】在表tb_student和表tb_student_info上创建视图stu_glass。创建视图student_view,语句如下:CREATEVIEWstudent_view(s_id,s_name,glass)ASSELECTtb_student.s_id,tb_student.s_name,tb_student_info.glassFROMtb_student,tb_student_infoWHEREtb_student.s_id=tb_student_info.s_id;SELECT*FROMstudent_view;目录03查看视图0102创建视图视图概述04修改视图05更新视图06删除视图07视图应用本章小结08查看视图查看视图是查看数据库中已存在的视图的定义。查看视图必须要有SHOWVIEW的权限,MySQL数据库下的user表中保存着这个信息。查看视图的方法包括:DESCRIBE、SHOWTABLESTATUS和SHOWCREATEVIEW。DESCRIBE视图名;SHOWTABLESTATUSLIKE'视图名';SHOWCREATEVIEW视图名;SELECT*FROMinformation_schema.views\G;目录04修改视图010203查看视图创建视图视图概述05更新视图06删除视图07视图应用本章小结08修改视图使用CREATEORREPLACEVIEW语句修改视图:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}VIEWview_name[(column_List)]ASSELECT_statement[WITH[CASCADED|LOCAL]CHECKOPTION]ALTER语句是MySQL提供的另一种修改视图的方法,语法如下:ALTER[ALGORITHM=(UNDEFINED|MERGE|TEMPTABLE)]VIEWview_name[(columnlist)]ASSELECT_statement[WITH[CASCADED|LOCAL]CHECKOPTION]目录05更新视图06删除视图07视图应用本章小结0801020304查看视图创建视图修改视图视图概述更新视图针对视图对象进行更新、插入、删除,可以更新视图内容:UPDATEview_ZSETquantity=5;INSERTINTOtVALUES(2,4);DELETEFROMview_Z2WHEREprice=8;目录06删除视图07视图应用本章小结0801020304查看视图创建视图修改视图视图概述05更新视图删除视图当视图不再需要时,可以将其删除,删除一个或多个视图可以使用DROPVIEW语句,语法格式如下:DROPVIEW[IFEXISTS]
view_name[,view_name]…
[RESTRICT|CASCADE]其中,view_name是要删除的视图名称,可以添加多个需要删除的视图名称,各个名称之间使用逗号分隔开。删除视图必须拥有DROP权限。【例10-13】删除student_view视图,代码如下:DROPVIEWIFEXISTSstudent_view;
执行结果如图所示。目录07视图应用本章小结0801020304查看视图创建视图修改视图视图概述05更新视图06删除视图视图应用本节通过示例来综合练习视图的创建、查询、更新和删除操作。基于图书信息系统,建立关于系统管理员、图书信息、借阅记录和归还记录的视图。目录本章小结0801020304查看视图创建视图修改视图视图概述05更新视图06删除视图07视图应用本章小结数据库中的视图是一个虚拟表,也包含了一系列带有名称的行和列数据。行和列数据均来自于由视图所引用的表,并且在引用视图时动态抽取数据表中的数据。本章通过理论与实例相结合,介绍了视图的含义、视图的作用、创建视图、查看视图、修改视图、更新视图和删除视图等内容。在建立视图时,可以基于单个数据表创建视图,也可以基于多数据表创建视图;可以通过DESCRIBE和通过SHOWTABLESTATUS查看视图基本信息,通过SHOWCREATEVIEW和在views表中查看视图的详细信息;通过CREATEORRELPLACEVIEW、ALTER语句可以修改视图;更新视图的方法有INSERT、UPDATE和DELETE三种方式;当不再需要视图时,可以通过DROPVIEW语句删除视图。谢谢观看汇报人:秒出PPT第11章
存储程序本章概述存储程序就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理。存储程序分为存储过程与存储函数。本章主要介绍如何创建存储过程和存储函数以及变量的使用,如何调用、查看、修改、删除存储过程和存储函数,等等。本章学习目标掌握如何创建存储过程;掌握如何创建存储函数;熟悉变量的使用方法;熟悉如何定义条件和处理程序;了解光标的使用方法;掌握流程控制的使用;掌握如何调用存储过程和函数;熟悉如何查看存储过程和函数;掌握修改存储过程和函数的方法;熟悉如何删除存储过程和函数;掌握综合使用存储过程和函数的方法和技巧。目录01020304定义条件和处理程序创建、调用存储函数查看存储过程和函数创建、调用存储过程05修改存储过程和函数06删除存储过程和函数07全局变量的持久化本章小结08创建、调用存储过程创建存储过程通过CREATEPROCEDURE语句实现,基本语法格式如下:CREATEPROCEDUREsp_name([proc_parameter])[characteristics…]routine_bodyCREATEPROCEDURE是用来创建存储函数的关键字;sp_name是存储过程的名称;proc_parameter是存储过程的参数列表。参数列表的形式如下:[IN|OUT|INOUT]param_nametype其中,IN表示输入参数;OUT表示输出参数;INOUT表示既可以输入又可以输出;param_name表示参数名称;type表示参数的数据类型,该类型可以是MySQL数据库中的任意数据类型。创建存储过程创建、调用存储过程存储过程是通过CALL语句进行调用的,语法如下:CALLsp_name([parameter[,...]])CALL语句调用一个先前用CREATEPROCEDURE创建的存储过程,其中sp_name为存储过程名称,parameter为存储过程的参数。调用存储过程创建、调用存储过程定义一个水果表tb_fruits,SQL语句如下:CREATETABLE`tb_fruits`(`f_id`tinyintNOTNULLAUTO_INCREMENT,`name`varchar(255)COLLATEutf8mb4_general_ciDEFAULTNULL,`price`decimal(10,0)DEFAULTNULL,PRIMARYKEY(`f_id`))ENGINE=InnoDBAUTO_INCREMENT=6DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_general_ci;INSERTINTO`tb_fruits`VALUES('1','apple','9');INSERTINTO`tb_fruits`VALUES('2','pear','3');INSERTINTO`tb_fruits`VALUES('3','grape','7');INSERTINTO`tb_fruits`VALUES('4','strawberry','13');INSERTINTO`tb_fruits`VALUES('5','tangerine','6');建立测试数据表创建、调用存储过程下面的代码演示了存储过程的内容,名称为AvgFruitPrice,返回所有水果的平均价格,输入代码如下:CREATEPROCEDUREAvgFruitPrice()BEGINSELECTAVG(price)ASavgpriceFROMtb_fruits;END调用存储过程,语句如下:CALLAvgFruitPrice();建立一个简单的存储过程并调用目录01020304定义条件和处理程序创建、调用存储函数查看存储过程和函数创建、调用存储过程05修改存储过程和函数06删除存储过程和函数07全局变量的持久化本章小结08创建、调用存储函数创建存储函数需要使用CREATEFUNCTION语句,基本语法格式如下:CREATEFUNCTIONfunc_name([func_parameter]))RETURNStype[characteristic…]routine_bodyCREATEFUNCTION为用来创建存储函数的关键字;func_name表示存储函数的名称;func_parameter为存储过程的参数列表,参数列表形式如下:[IN|OUT|INOUT]param_nametype其中,IN表示输入参数;OUT表示输出参数;INOUT表示既可以输入又可以输出;param_name表示参数名称;type表示参数的数据类型,该数据类型可以是MySQL数据库中的任意数据类型。创建、调用存储函数【例11-5】定义存储函数CountProc2,然后调用这个函数,代码如下:DELIMITER//CREATEFUNCTIONCountProc2(sidINT)RETURNSINTBEGINRETURN(SELECTCOUNT(*)FROMtb_fruitsWHEREf_id=sid);END;//运行程序,结果如图所示。创建、调用存储函数可以在子程序中声明并使用变量。这些变量的作用范围是BEGIN…END之间。在存储过程中使用DECLARE语句定义变量,语法格式如下:DECLAREvar_name[,varname]…date_type[DEFAULTvalue];【例11-6】定义名称为myparam的变量,类型为INT,默认值为10,代码如下:DECLAREmyparamINTDEFAULT10;MySQL中使用SET语句为变量赋值,语法格式如下:SETvar_name=expr[,var_name=expr]...;例如:DECLAREvar1,var2,var3INT;SETvar1=10,var2=20;SETvar3=var1+var2;目录0104定义条件和处理程序创建、调用存储函数查看存储过程和函数创建、调用存储过程05修改存储过程和函数06删除存储过程和函数07全局变量的持久化本章小结080302定义条件和处理程序定义条件是事先定义程序执行过程中遇到的问题,处理程序定义了在遇到这些问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。条件定义条件和处理程序定义条件使用DECLARE语句,语法格式如下:DECLAREcondition_nameCONDITIONFOR[condition_type][condition_type]:SQLSTATE[VALUE]sqlstate_value|mysql_error_code其中,condition_name参数表示条件的名称;condition_type参数表示条件的类型;sqlstate_value和mysql_error_code都可以表示MySQL的错误,sqlstate_value为长度为5的字符串类型错误代码,mysql_error_code为数值类型错误代码。定义条件定义条件和处理程序【例11-9】定义ERROR1148(42000)错误,名称为command_not_allowed。可以用两种不同的方法来定义,代码如下://方法一:使用sqlstate_valueDECLAREcommand_not_allowedCONDITIONFORSQLSTATE'42000';//方法二:使用msql_error_codeDECLAREcommand_not_allowedCONDITIONFOR1148定义条件定义条件和处理程序定义处理程序时,使用DECLARE语句,语法如下:DECLAREhandler_typeHANDLERFORcondition_value[,…]sp_statementhandler_type:CONTINUE|EXIT|UNDOCondition_value:SQLSTATE[VALUE]sqlstate_value|condition_name|SQLWARNING|NOTFOUND|SQLEXCEPTION|mysql_error_code其中,handler_type为错误处理方式,参数取3个值:CONTINUE、EXIT和UNDO。CONTINUE表示遇到错误不处理,继续执行;EXIT表示遇到错误马上退出;UNDO表示遇到错误后撤回之前的操作,MySQL中暂时不支持这样的操作。定义处理程序定义条件和处理程序//方法一:捕获sqlstate_valueDECLARECONTINUEHANDLERFORSQLSTATE'42S02'SET@info='NO_SUCH_TABLE',//方法二:捕获mysql_error_codeDECLARECONTINUEHANDLERFOR1146SET@info='NO_SUCH_TABLE';//方法三:先定义条件,然后调用DECLAREno_such_tableCONDITIONFOR1146;DECLARECONTINUEHANDLERFORNO_SUCH_TABLESET@info='NO_SUCH_TABLE';//方法四:使用SQLWARNINGDECLAREEXITHANDLERFORSOLWARNINGSET@info='ERROR';//方法五:使用NOTFOUNDDECLAREEXITHANDLERFORNOTFOUNDSET@info='NO_SUCH_TABLE';//方法六:使用SQLEXCEPTIONDECLAREEXITHANDLERFORSQLEXCEPTIONSET@info='ERROR';定义处理程序的几种方式定义条件和处理程序查询语句可能返回多条记录,如果数据量非常大,就需要在存储过程和储存函数中使用光标来逐条读取查询结果集中的记录。MySQL中使用DECLARE关键字来声明光标,语法格式如下:DECLAREcursor_nameCURSORFORselect_statement打开光标的语法格式如下:OPENcursor_name;使用光标的语法如下:FETCHcursor_nameINTOvar_name[,var_name]...光标的使用定义条件和处理程序流程控制语句根据条件控制语句的执行。MySQL中流程控制语句有:IF、CASE、LOOP、LEAVE、ITERATE、REPEAT和WHILE语句。每个流程中可能包含一个单独语句,或者使用BEGIN...END构造的复合语句,构造可以被嵌套。流程控制定义条件和处理程序IF语句包含多个条件判断,根据判断的结果为TRUE或FALSE执行相应的语句,语法格式如下:IFexpr_conditionTHENstatement_list[ELSEIFexpr_conditionTHENstatement_list]…[ELSEstatement_list]ENDIFIF实现了一个基本的条件构造。若expr_condition求值为真(TRUE),则相应的SQL语句列表被执行;若没有expr_condition匹配,则ELSE子句里的语句列表被执行。statement_list可以包括一个或多个语句。流程控制定义条件和处理程序CASE是另一个进行条件判断的语句,该语句有两种语句格式,第一种格式如下:CASEcase_exprWHENwhen_valueTHENstatement_list[WHENwhen_valueTHENstatement_list]…[ELSEstatement_list]ENDCASE其中,case_expr参数表示条件判断的表达式,决定了哪一个WHEN子句会被执行;when_value参数表示表达式可能的值,如果某个when_value表达式与case_expr表达式的结果相同,就执行对应THEN关键字后的statement_list中的语句;statement_list参数表示不同when_value值的执行语句。流程控制定义条件和处理程序LOOP循环语句用来重复执行某些语句,与IF和CASE语句相比,LOOP只是创建一个循环操作的过程,并不进行条件判断。LOOP内的语句一直重复执行直到循环被退出,跳出循环过程使用LEAVE子句,LOOP语句的基本语法格式如下:[loop_label:]LOOPstatement_listENDLOOP[loop_label]loop_label表示LOOP语句的标注名称,该参数可以省略;statement_list参数表示需要循环执行的语句。流程控制定义条件和处理程序LEAVE语句用来退出任何被标注的流程控制构造,LEAVE语句基本语法格式如下:LEAVElabel其中,label参数表示循环的标志。LEAVE和BEGIN...END或循环一起使用。流程控制定义条件和处理程序ITERATE语句将执行顺序转到语句段开头处,语句基本语法格式如下:ITERATElabelITERATE只可以出现在LOOP、REPEAT和WHILE语句内。ITERATE的意思为“再次循环”,label参数表示循环的标志。ITERATE语句必须跟在循环标志前面。流程控制定义条件和处理程序REPEAT语句创建一个带条件判断的循环过程,每次语句执行完毕之后,会对条件表达式进行判断,若表达式为真,则循环结束;否则重复执行循环中的语句。REPEAT语句的基本格式如下:[repeat_label:]]REPEATstatement_listUNTILexpr_conditionENDREPEAT[repeat_label]repeat_label为REPEAT语句的标注名称,该参数可以省略;REPEAT语句内的语句或语句群被重复,直至expr_condition为真。流程控制定义条件和处理程序WHILE语句创建一个带条件判断的循环过程,与REPEAT不同,WHILE在执行语句执行时,先对指定的表达式进行判断,如果为真,就执行循环内的语句,否则退出循环。WHILE语句的基本格式如下:[while_label:]WHILEexpr_conditionDOstatement_listENDWHILE[while_label]while_label为WHILE语句的标注名称;expr_condition为进行判断的表达式,若表达式结果为真,则WHILE语句内的语句或语句群被执行,直至expr_condition为假,退出循环。流程控制目录01定义条件和处理程序创建、调用存储函数查看存储过程和函数创建、调用存储过程05修改存储过程和函数06删除存储过程和函数07全局变量的持久化本章小结08020403查看存储过程和函数SHOWSTATUS语句可以查看存储过程和函数的状态,其基本语法格式如下:SHOW{PROCEDURE|FUNCTION}STATUS[LIKE'pattern']这个语句是MySQL的一个扩展。它返回子程序的特征,如数据库、名字、类型、创建者及创建和修改日期。若没有指定样式,则根据使用的语句,所有存储程序或存储函数的信息都被列出。PROCEDURE和FUNCTION分别表示查看存储过程和函数;LIKE语句表示匹配存储过程或函数的名称。使用SHOWSTATUS语句查看存储过程和函数的状态查看存储过程和函数MySQL还可以使用SHOWCREATE语句查看存储过程和函数的状态。SHOWCREATE{PROCEDURE|FUNCTION}sp_name这个语句是MySQL的一个扩展。类似于SHOWCREATETABLE,它返回一个可用来重新创建已命名子程序的确切字符串。PROCEDURE和FUNCTION分别表示查看存储过程和函数;sp_name参数表示匹配存储过程或函数的名称。使用SHOWCREATE语句查看存储过程和函数的定义查看存储过程和函数MySQL中存储过程和函数的信息存储在infor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境物流本地化趋势
- 絮凝剂在天然药物提取中的应用
- 临床基于Fogg行为模型对一例心衰合并心房扑动、危重高血糖患者的个案汇报
- 电压源与电流源的等效变换教学课件
- 四川省成都市第三中学高中劳动技能测试卷及答案
- 陕西省西安市实验中学九年级化学第12章综合测试卷及答案
- 精炼工艺和设备介绍LF
- 电子病历与HL7教学课件
- 海上运输货物保险的理赔
- 电脑基础知识课件
- DB34∕T 4523-2023 食品生产安全智慧监管平台建设指南
- 2025年肿瘤专科护士试题及答案
- 2025全国中小学生天文知识竞赛题库(附答案)
- 2025深圳市茅洲河流域洪涝风险图集
- 2024年青岛崂山旅游集团招聘考试真题
- 工行柜员管理办法
- 浙江党费管理办法
- 中医老年人体质辨识课件
- 《中医药文化传承》课件
- 水利工程施工监理规范(SL288-2014)用表填表说明及示例
- 专题07 相似三角形中的重要模型-手拉手模型(解析版)
评论
0/150
提交评论