给你一个表名,把该表的列取出来,为 json_object 使用

方案一:使用系统表   information_schema.COLUMNS

select * from information_schema.COLUMNS where table_name='orders' and table_schema='mysales';

常用:column_name,is_nullable,column_type,column_key,extra

column_key 里有PRI、Extra里有 auto_increment

注:不同的数据库下面可以有相同的表
drop procedure if exists p1;
delimiter $$
create procedure p1
(
$tablename varchar(100),
out $fieldset mediumtext
)
begin
select json_arrayagg(json_object('field',column_name,'type',column_type)) into $fieldset
from information_schema.columns where table_name=$tablename and table_schema='mysales';
end $$
delimiter ;
call p1('employees',@s);
select @s;
方案二
show columns 不过不能用into 
set @str = '';
show columns from emploees where @str:=concat(@str,if(@str<>'',',',''),
'{"field":"',lower(field),'","type":"',type,'"}');
select concat('[',@str,']');

注:在存储过程里用prepare语句

其他:white-space:nowrap  不换行 
overflowellipsis 多行文本溢出显示省略号
jsp 画图
写json
.....
xdata=[];
for(var i=0;i<rs.rows.length;i++){
r={};
r.name=rs.rows[i].customerid;
r.y=parseFloat(rs.rows[i].amt);
if(i==0){
r.sliced=true;
r.selected=true;
}
xdata.push(r);
}
console.log(xdata);
fn()

标签: none

添加新评论