• 【原创】MySql的语法及注意事项


    最近项目中要用到MySql数据库的相关操作,因为之前用C#写的项目中,用的比较多的就是SQL,Orale数据库,写SQL数据库的存储过程及测试语句,可能大家都比较熟,可是对于MySql写存储过程及语法,你又了解多少呢。

    C#操作MySQL数据库,可以使用开源类库mysql.data.dll,这个操作和SQL数据库的操作类比较相似,本章内容暂时不说这些内容。只说写MySql的一些语法及注意事项:

    本节内容如下:

    (1)MySql如何定义变量

    (2)MySql的注释怎么写

    (3)MySql如何存储过程(带返回参数) 

    (4)怎么样执行MySql存储过程(带返回参数)

    (5)MySql中的判断语句怎么写

    (6)执行MySql存储过程,中文写进数据库变成乱码

     我们开始吧。

    一:MySql如何定义变量

    对于SQL的开发人员,第一想到的就是Declare。可是MySQl是这样的吗,经测试,如果是写存储过程,里面可以用到Declare,而不是存储过程,只是写一些测试用例时应该使用Set关键字。例如:

    存储过程中定义变量

    CREATE  PROCEDURE `test`(
      username CHAR(20) 
    BEGIN 
     DECLARE nickID INT;

    不是存储过程定义变量:

    set @code =1;
    select @code;

    二:MySql的注释怎么写

    这个就比较简单了,可以通过三种方式

    1、#...
    2、"--  ..."   (--后面必须跟一个空格呀)
    3、/*...*/

    三:MySql如何存储过程(带返回参数) 

    写过SQL的人一定想到Out关键字,MySql也是一样。直接代码如下

    CREATE  PROCEDURE `test`(
      username CHAR(20) ,
      out Code INT)
    BEGIN 
     DECLARE nickID INT;

    四:怎么样执行MYSql存储过程(带返回参数)
    第一次用了SQL的方法进行,内容报错。就在网上查查。终于找到参考内容。我直接代码:

    call test('ywtest',@code);
    select @code;

    @code就是返回参数,不用定义,直接写,加上@就可以了。是不是很简单.
    五:MySql中的判断语句怎么写

    这个我也可想多说了,直接代码,一目了然。

                IF FOUND_ROWS() =0 THEN
                    BEGIN                    
                        SET Code=1000;-- 成功
                    END;
                ELSE
                    SET Code=1001;-- 失败
    END IF;

    结构不难看出。我已经标识为红色了。

    六:执行MySql存储过程,中文写进数据库变成乱码

    我在写完存储过程后,直接调用,存储过程的参数是char类型,我直接输入中文,保存到数据库竟然是乱码,这下慌了。网上查查,又是改字符集,又是改其它的都不行。最后解决办法很简单

    就是在存储过程的参数后面加上character set utf8即可。直接代码。

    CREATE  PROCEDURE `test`(
      username CHAR(20)  character set utf8,
      out Code INT)
    BEGIN 
     DECLARE nickID INT;

    好了,MySql的语法就说到这里,只是记录一下自己遇到的一些问题进行总结。

    转载请注原创地址,谢谢。

  • 相关阅读:
    Yahoo军规的学习
    从github上拉取代码速度慢的解决方案
    hosts文件介绍
    Windows系统下用nginx服务器部署页面
    前端开发面试题
    IDEA中maven无法拉下依赖问题的解决
    利用补丁永久破解IDEA
    OC项目中常用第三方库和框架介绍
    [暑假集训]开训复健练习赛 G
    [暑假集训]开训复健练习赛 D
  • 原文地址:https://www.cnblogs.com/yxhblog/p/2579593.html
Copyright © 2020-2023  润新知