• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php程序员对数据库操作必须要知道的一些语法

mysql 搞代码 4年前 (2022-01-09) 26次浏览 已收录 0个评论

如果你初识MySql的话,那么这些语法糖你有必要知道。

  1. Sql创建数据库

-- 如果存在数据库order,则删除。否则创建数据库drop database if exists `order`;-- 创建数据库create database `order`;

2.Sql创建数据表

CREATE TABLE `Users` (  `ID` bigint(20<strong>本文来源gao@daima#com搞(%代@#码网</strong>) NOT NULL AUTO_INCREMENT COMMENT '客户id',  `Member` varchar(20) DEFAULT NULL COMMENT '会员号',  `Name` varchar(100) DEFAULT NULL COMMENT '姓名',  `Phone` varchar(20) DEFAULT NULL COMMENT '手机号码',  `QQ` varchar(20) DEFAULT NULL COMMENT 'QQ',  `PassWord` varchar(50) DEFAULT NULL COMMENT '密码',  `IsOpen` char(2) DEFAULT 'Y' COMMENT '是否禁用',  `Createtime` datetime DEFAULT NULL COMMENT '创建时间',  PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;我这里创建了一个Users表,如果你的MySql里面存在多个数据库的话你可以使用 关键词 Use 来告诉mysql你所创建的表属于哪一个库,我这里创建到了上面新建的Order库里面,如果你有mysql或者SQLserver的基础的话你会觉得这些都很简单,确实如此,主键,默认值,是否为空,是否自增等等,你都了解,不过还是有两个东西值的说一下,一个是没个字段的备注,我个人开发过程中觉得这个非常重要,所以一个简单的备注能让你快速的回忆起这个字段的作用,COMMENT 就是专门做这个的。第二个是我创建表中的1000这个值,这个是该表的记录会从1000开始,可以自己去定义。uft8设置编码格式。
我这里创建了一个Users表,如果你的MySql里面存在多个数据库的话你可以使用 关键词 Use 来告诉mysql你所创建的表属于哪一个库,我这里创建到了上面新建的Order库里面,如果你有mysql或者SQLserver的基础的话你会觉得这些都很简单,确实如此,主键,默认值,是否为空,是否自增等等,你都了解,不过还是有两个东西值的说一下,一个是没个字段的备注,我个人开发过程中觉得这个非常重要,所以一个简单的备注能让你快速的回忆起这个字段的作用,COMMENT 就是专门做这个的。第二个是我创建表中的1000这个值,这个是该表的记录会从1000开始,可以自己去定义。uft8设置编码格式。

3.创建存储过程

DELIMITER $$CREATE DEFINER=`root`@`%` PROCEDURE `RecordPage`(    tblName varchar(2000),    SelectFieldName varchar(4000),    strWhere varchar(4000),    OrderField varchar(2000),    PageSize int,    PageIndex int,    out iRowCount int  ,            -- 总记录数    out pagecount int               -- 总分页数)$$:begin     declare v_sqlcounts varchar(4000);     declare v_sqlselect varchar(4000);     #拼接查询总记录的SQL语句     set strWhere=concat(' where ', strWhere);     set OrderField=concat(' order by ', OrderField);    #拼接分页查询记录的动态SQL语句    set v_sqlselect = concat('select ',SelectFieldName,' from ',tblName,strWhere,if(OrderField is not null,OrderField,''),' limit ',(PageIndex-1)*PageSize,' , ',PageSize);   #select v_sqlselect;leave $$;   set @sqlselect = v_sqlselect;   prepare stmtselect from @sqlselect;        execute stmtselect;   deallocate prepare stmtselect;          -- set v_sqlcounts = concat('select count(*) into @recordcount from ',tblName,strWhere);     set v_sqlcounts = concat('select SQL_CALC_FOUND_ROWS ',SelectFieldName,'  from ',tblName,strWhere);    #select v_sqlcounts;leave $$;    set @sqlcounts = v_sqlcounts;    prepare stmt from @sqlcounts;         execute stmt;    deallocate prepare stmt;    #获取动态SQL语句返回值    -- set iRowCount = @recordcount;     set iRowCount = (select FOUND_ROWS());   end $$$$DELIMITER ;创建存储过程的格式,上面是我创建的一个通用分页的存储过程,亲测,可用,只需要对应传参数就行了

4.关于批量

-- 批量插入INSERT INTO `order`.`users`(`ID`,`Member`,`Name`,`Phone`,`QQ`,`PassWord`,`IsOpen`,`Createtime`)VALUES(),(),(),(),(),(),()......;--批量更新UPDATE `order`.`users`SET Name= case ID    WHEN 1 THEN '111'    WHEN 2 THEN '222'    WHEN 3 THEN '333'     ENDWHERE `ID` in(1,2,3) ;更新多个字段的时候可以将SET与END之间的部分复制替换成要更新的字段信息

以上就是php程序员对数据库操作必须要知道的一些语法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php程序员对数据库操作必须要知道的一些语法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址