求sql语句,数组中取值

求sql语句,数组中取值,第1张

----首先定义一个split函数,其作用是将字符串拆分成表CREATE FUNCTION [fn_split](@SourceSql varchar(8000), @StrSeprate varchar(10))RETURNS @temp table(  [n] int NULL,  [a] varchar(100) NULL)ASBEGINdeclare @i int,@n int  set @n=0  set @SourceSql=rtrim(ltrim(@SourceSql))  set @i=charindex(@StrSeprate,@SourceSql)  while (@i>=1)  begin    set @n=@n+1    insert @temp([n],[a]) values(@n,left(@SourceSql,@i-1))    set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)    set @i=charindex(@StrSeprate,@SourceSql)  end  if (@SourceSql<>'')  begin    set @n=@n+1    insert @temp([n],[a]) values(@n,@SourceSql)  end    returnENDGO --接下来利用这个函数将数组转化成表,查出A的对应值declare @C varchar(100),@D varchar(100)set @C='a1,a2,a3,a4,a5,a6'set @D='b1,b2,b3,b4,b5,b6'declare @A varchar(10),@B varchar(10)set @A='a4'select @B=t2.a from fn_split(@C,',') t1,fn_split(@D,',') t2 where t1.n=t2.n and t1.a=@Aselect @B--这里将得到@B=b4

--接下来就可以使用@B了select TOP 7 * from Data_Content where title = @B  order BY ID DESC

这是个构造函数,this.name指当前类的属性,后一个name是构造函数中的参数

这就是给类中的属性赋值

这样写就清楚了

public

Employee(string

strName,

string

strAlias)

{

//

Use

this

to

qualify

the

fields,

name

and

alias:

this.name

=

strName

this.alias

=

strAlias

}

方法一:使用sql语句修改mysql数据库前缀

首先我们想到的就是用sql查询语句来修改,这个方法也很方便,只需进入无忧主机控制面板——phpmyadmin登入后,在运行 SQL 查询框中输入如下语名就可以了。

ALTER TABLE 原表名 RENAME TO 新表名

如:

ALTER TABLE old_post RENAME TO new_post

Sql查询语句有一个缺点,那就是一句SQL语句只能修改一张数据库的表名,如果你要精确修改某一张表,很好用。如果数据库表很多的话,不推荐使用。有木有,批量修改多个数据库表前缀名称的方法类?有的,请看下面的介绍

方法二:php脚本批量修改mysql数据库表前缀

下面无忧主机(www.51php.com)小编收集的一个快速批量的修改数据表前缀的方法,小编已经测试,成功修改。如果你需要,请参考借鉴如下:

1、将下面的代码复制到记事本,根据自己人情况修改好数据库信息,并保存了51php.php。再上传您网站的根目录。您可以直接下载mysql数据库前缀名批量修改脚步:修改mysql数据库表前缀名。

<?php

//设置好相关信息

$dbserver='localhost'//连接的服务器一般为localhost

$dbname='y8n9nghmze_shop'//数据库名

$dbuser='y8n9nghmze_user'//数据库用户名

$dbpassword='admin'//数据库密码

$old_prefix='ecs_'//数据库的前缀

$new_prefix='51php_'//数据库的前缀修改为

if (

!is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) )

{

return false

}

if (!mysql_connect($dbserver,

$dbuser, $dbpassword)) {

print 'Could not connect to mysql'

exit

}

//取得数据库内所有的表名

$result =

mysql_list_tables($dbname)

if (!$result) {

print "DB Error, could not

list tables\n"

print 'MySQL Error: ' .

mysql_error()

exit

}

//把表名存进$data

while ($row =

mysql_fetch_row($result)) {

$data[] = $row[0]

}

//过滤要修改前缀的表名

foreach($data as $k =>$v)

{

$preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i",

$v, $v1)

if($preg)

{

$tab_name[$k] =

$v1[2]

//$tab_name[$k]

= str_replace($old_prefix, '', $v)

}

}

if($preg)

{

//echo '<pre>'

//print_r($tab_name)

//exit()

//批量重命名

foreach($tab_name as $k =>

$v)

{

$sql = 'RENAME TABLE

`'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`'

mysql_query($sql)

}

print 数据表前缀:.$old_prefix."<br>".已经修改为:.$new_prefix."<br>"

}

else

{ print 您的数据库表的前缀.$old_prefix.输入错误。请检查相关的数据库表的前缀

if ( mysql_free_result($result) ) {

return true

}

}

?>

2、 在浏览器输入访问您的网址/51php.php.数据库表的前缀就可以修改成功了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10863841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存