1.查询表的结构信息
desc tableName;
show columns from tableName;
describe tableName
上面的结果返回的结果是一样的。
select * from
information_schema.columns
where table_name='tableName';
3 查看库中所有的库
SELECT LOWER(schema_name) schema_name
FROM
information_schema.schemata
WHERE
schema_name NOT IN (
'mysql',
'information_schema',
'test'
)
4 查询某个库中所有的表
SELECT table_name, create_time updated_at, table_type, ENGINE, table_rows num_rows, table_comment, CEIL(data_length / 1024 / 1024) store_capacity
FROM
information_schema.TABLES
WHERE table_schema = 'schema_name' AND table_name NOT LIKE 'tmp#_%' ESCAPE '#'
5 查看某一个库下某一个表的所有字段
SELECT
lower(column_name) column_name,
ordinal_position position,
column_default dafault_value,
substring(is_nullable, 1, 1) nullable,
column_type data_type,
column_comment,
character_maximum_length data_length,
numeric_precision data_precision,
numeric_scale data_scale
FROM
information_schema.COLUMNS
WHERE
table_schema = 'admin_portal'
AND table_name = 'ap_epiboly_task';
6 查看某一个库下某一张表的索引
SELECT DISTINCT
lower(index_name) index_name,
lower(index_type) type
FROM
information_schema.statistics
WHERE
table_schema = 'employees'
AND table_name = 'employees';
7 查看某一个库下某一个表的注释
SELECT
table_comment comments
FROM
information_schema.TABLES
WHERE
table_schema = 'employees'
AND table_name = 'employees';
8
1.查看索引
(1)单位是GB
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 2), ' GB') AS 'Total Index Size' FROM information_schema.TABLES WHERE table_schema LIKE 'test';
+------------------+
| Total Index Size |
+------------------+
| 1.70 GB |
+------------------+
(2)单位是MB
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM information_schema.TABLES WHERE table_schema LIKE 'test';
其中“database”为你所要查看的数据库
2.查看表空间
SELECT CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 2), ' GB') AS 'Total Data Size'
FROM information_schema.TABLES WHERE table_schema LIKE 'test';
+-----------------+
| Total Data Size |
+-----------------+
| 3.01 GB |
+-----------------+
3.查看数据库中所有表的信息
SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name',
CONCAT(ROUND(table_rows/1000000,2),'M') AS 'Number of Rows',
CONCAT(ROUND(data_length/(1024*1024*1024),2),'G') AS 'Data Size',
CONCAT(ROUND(index_length/(1024*1024*1024),2),'G') AS 'Index Size' ,
CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),2),'G') AS'Total'FROM information_schema.TABLES WHERE table_schema LIKE 'test';
在页面中向mysql5.0插入中文数据时提示失败,将sql语句复制到管理器中,数据库提示data too long for column "title",我改为一个汉字,还是提示同样的信息,换成英文再试一下,正常,应该是字符集除了问题,但是数据库在建立的时候就选择的 DEFAULT_CHARSET,应该是字段的问题。
将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务):
[mysql]
default-character-set=gbk
[mysqld]
default-character-set=gbk
或者在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了
将表和字段的字符集属性都改成gbk。
在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。
http://www.blogjava.net/zoninge/archive/2009/04/15/265663.html