数据库版本
QUOTE:
mysql>select version()
+---------------+
| version() |
+---------------+
| 5.1.26-rc-log |
+---------------+
1 row in set (0.00 sec)
表结构:
mysql>create table t1(id int)
shell脚本.()
QUOTE:
#!/bin/sh
#for ((x=3x<3000i++))
x=3
while [ $x -le 3000 ]
do
mysql -uroot -psuretech -Dtest <<EOF >>/root/add_col_test.log
alter table t1 add column f$x char(1)
EOF
x=`expr $x + 1`
done
结果是:2599
因为用的是CHAR(1),如果用NVARCHAR(500)就只能加32列了
如果char(100),那样只有655行.
这样说是与字段有关系的.
在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语.
MySQL查询表字段使我们经常会遇到的问题,下文对MySQL查询表字段的方法作了详细的说明介绍,希望对您能够有所帮助。mysql中怎么查询表中的字段个数?
方法一,在你的程序中直接
desc tablename
然后总行数就是你的字段数。
SQL code
mysql>desc ysks
+-------+---------------+-----
| Field | Type | Null
+-------+---------------+-----
| 单号 | int(11) | YES
| 金额 | decimal(10,2) | YES
| 已收 | decimal(10,2) | YES
| 日期 | bigint(20)| YES
| 名称 | varchar(10) | YES
| 余额 | decimal(10,2) | YES
| 备注 | varchar(10) | YES
| 品名 | varchar(10) | YES
+-------+---------------+-----
8 rows in set (0.06 sec)
mysql>select FOUND_ROWS()
+--------------+
| FOUND_ROWS() |
+--------------+
|8 |
+--------------+
1 row in set (0.06 sec)
mysql>
方法二,通过系统表information_schema.`COLUMNS` ( mysql5以上版本支持)
SQL code
mysql>select count(*) from information_schema.`COLUMNS`
->where TABLE_SCHEMA='csdn'
->and TABLE_NAME='ysks'
+----------+
| count(*) |
+----------+
|8 |
+----------+
1 row in set (0.06 sec)
mysql>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)