澳门新葡亰平台游戏网站mysql 增删改查基本语句,mysql增删改语句

我们知道多值字段功能很强大,但不能上传图片确很操蛋,其实改吧改吧就可以了,只是帝国的大大们似乎不太注意这些小细节,只有靠自己来优化了。

mysql 增删改查基本语句,mysql增删改语句

澳门新葡亰平台游戏网站 ,在增量部署系统的时候, 经常需要提供增量修改的脚本,
如果是修改存储过程或者自定义函数, 那还是很好改的,
不用担心表功能收到影响. 

scriptfunction domvadd_ffff(){ var i; var str=''; var oldi=0; var j=0; var addnum=0; addnum=parseInt(document.add.mvaddnum_ffff.value); oldi=parseInt(document.add.mveditnum_ffff.value); for(i=1;i=addnum;i++) { j=i+oldi; str=str+'trtd align="center"input type="text" name="ffff_1[]" value=""a onclick="window.open(/'ecmseditor/FileMain.php?type=1classid=?=$classid?infoid=?=$id?doing=1field=ffff_1_'+j+'/',/'/',/'width=700,height=550,scrollbars=yes/');" title="选择已上传的图片"img src="../data/images/changeimg.gif" border="0" align="absbottom"/a/td/tr'; } document.getElementById("mvadd_ffff").innerHTML="table width='100%' border=0 cellspacing=1 cellpadding=3"+str+"/table";}/scripttable width="100%" border="0" cellspacing="0" cellpadding="0" tr td table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#DBEAF5" trtd align="center"设置1/td/tr /table /td /tr tr td ?php if($ecmsfirstpost==1) { ? table width='100%' border=0 cellspacing=1 cellpadding=3 ?php $editnum=3; for($i=1;$i=$editnum;$i++) { ? trtd align="center"input type="text" name="ffff_1[]" value=""a onclick="window.open('ecmseditor/FileMain.php?type=1classid=?=$classid?infoid=?=$id?doing=1field=ffff_1_?=$i?','','width=700,height=550,scrollbars=yes');" title="选择已上传的图片"img src="../data/images/changeimg.gif" border="0" align="absbottom"/a/td/tr ?php } ? /table ?php } else { $editnum=0; if($r['ffff']) { $r['ffff']=stripSlashes($r['ffff']); ? table width='100%' border=0 cellspacing=1 cellpadding=3 ?php //录入项 $j=0; $mvf_record=explode('||||||',$r['ffff']); $mvf_count=count($mvf_record); for($i=0;$i$mvf_count;$i++) { $j=$i+1; $mvf_field=explode("::::::",$mvf_record[$i]); ? trtd align="center"input type="text" name="ffff_1[]" value="?=$mvf_field[0]?" input type="hidden" name="ffff_mvid[]" value="?=$j?"input type="checkbox" name="ffff_mvdelid[]" value="?=$j?"删/td/tr ?php } ? /table ?php $editnum=$j; } } ? /td /tr tr td height="25"扩展数量: input name="mveditnum_ffff" type="hidden" value="?=$editnum?" input name="mvnum_ffff" type="hidden" value="1" input name="mvmust_ffff" type="hidden" value="1" input name="mvaddnum_ffff" type="text" value="1" size="6" input type="button" name="Submit5" value="输出" onClick="javascript:domvadd_ffff();"/td /tr tr td /td /tr/table

增:

insert

insert into 表名(字段1,字段2,字段3。。。。。。字段N)
values(值1,值2,值3);

如果不申明插入那些字段,则默认所有字段。

在插入时注意,往哪个表增加,增哪个字段,每个字段各有什么值。

如果是改字段呢?

上面ffff 是字段的名称

删:

delete

delete from 表名 where 表达式;

删除时注意 删除哪张表数据,删除哪些行.

 

首先不知道字段是不是已经在系统里面, 没有的话, 需要新增上去, 有的话,
需不需要修改?

改:

update

update 表名 set  字段1=值1,字段2=值2  …….字段N=值N where  表达式;

修改时注意 修改哪张表,修改哪几个字段,该什么值,在那几行生效。

 

其次, 脚本如果报错, 是否会重复执行一下脚本? 会不会导致别的问题呢?
看脚本里面执行结果报了好多错, 总觉得, 会被运维鄙视一遍. 做开发的,
真受不了别人鄙视自己的东西.

查:

select

select * from 表名 where 表达式。

增删改查基本语句,mysql增删改语句 增:
insert insert into 表名(字段1,字段2,字段3。。。。。。字段N)
values(值1,值2,值3); 如…

直接用sql去新增, 修改字段, 好像不太行, 经常会有问题.

正所谓, 条条大路通罗马. 一条路走不通, 我们换一条路走吧.

那么, 换一种思路, 不直接用表操作sql去改字段, 而是通过存储过程的方式来改.
对字段进行判断, 再修改, 那么你提供的脚本就是可重复执行脚本, 且不会报错.

delimiter $
drop procedure if exists pro_put_column;
create procedure pro_put_column()
BEGIN

    if not exists(select * from information_schema.COLUMNS where TABLE_SCHEMA=database() 
    and table_name='表名' and COLUMN_NAME='字段名') 
    THEN
        alter table 表名 add column 字段名 varchar(50);
    ELSE
        alter table 表名 MODIFY COLUMN 字段名 varchar(51);
    end if;

END $
delimiter ;

call pro_put_column();

可以先查询字段是否存在, 再决定要不要加, 或者要不要改. 后面的逻辑,
就根据实际需要去修改就可了.

如果确定是新增字段, 那么else部分完全可以删除掉. 

就是每改一个字段, 都要去查询一次, 有点不方便. 写的东西更多了.  

 

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图