`
hehaibo
  • 浏览: 416183 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

mysql 表结构 表空间和索引的查询 mysql中data too long for column问题的解决方法

 
阅读更多

1.查询表的结构信息

desc tableName;

show columns from tableName;

describe tableName

  上面的结果返回的结果是一样的。

2 查询表的列信息。
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

分享到:
评论

相关推荐

    ERROR 1406 : Data too long for column 解决办法

    在MySQL数据库操作中,当你尝试插入或更新一行数据时,如果某个字段的值超过了该字段定义的最大长度,系统会抛出“ERROR 1406 : Data too long for column”的错误。这个错误提示非常直接,意味着你试图输入的数据在...

    Navicat for MySQL导出表结构脚本的简单方法

    使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法。 1、右键Navicat中的数据库→数据传输(Data Transfer)。 2、左边数据库对象(Database Objects)中选择对应的表,右边目标(Target)中选择文件(File)...

    Oracle的表结构转成Mysql的表结构

    本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数,并生成对应的MySQL创建表语句(DDL)。 #### 参数...

    mysql导出到word格式表结构工具

    MySQL数据库在许多业务环境中扮演着核心角色,而将数据库的表结构从MySQL导出到Word格式则有助于数据管理和分享。这个“mysql导出到word格式表结构工具”提供了一个便捷的解决方案,使得开发者和非技术用户能够清晰...

    两个MySQL数据库之间同步表结构及索引模式.md

    两个MySQL数据库之间同步表结构及索引模式

    MySql写入中文错误解决

    通过以上解决方案,我们可以正确地导入中文字符到 MySQL 中,无需再担心“Data too long for column XX at row n”的错误。同时,我们也需要了解 MySQL 的默认编码为 gb2312,并且需要在不同的场景下选择正确的编码...

    MySQL复制表结构问题的解决方法

    本篇文章将深入探讨MySQL复制表结构时遇到的问题及解决方案。 首先,我们要明确复制表结构并不涉及表中的数据,只是复制了列名、数据类型、主键、外键等元数据。通常,开发者可能会尝试使用`SELECT * INTO`语句来...

    MySql表结构导出到Word

    支持导出MySQL数据库表结构!! 运行环境:jdk8+,需要Java运行环境 执行命令:java -jar data_to_word-1.0-SNAPSHOT.jar

    藏经阁-MySQL表和索引优化实战-11页

    MySQL 表和索引优化实战是指在 MySQL 数据库中对表和索引进行优化,以提高查询效率和存储空间利用率。本文将从 MySQL 表和索引的基本概念出发,探讨 MySQL 表和索引优化的实战经验和技巧。 一、 MySQL 表和索引的...

    mysql5.0乱码的解决实例

    在MySQL 5.0中,乱码问题是一个常见的困扰,...同时,对于“data too long for column”的问题,需要根据实际情况调整字段长度或类型,以满足数据存储需求。在实践中,对字符集的理解和正确使用是预防此类问题的基石。

    mysql查询优化之索引优化

    在MySQL中,最常见的索引类型有B-Tree索引、哈希索引、全文索引和空间索引等。 1. **B-Tree索引**:这是最常用的索引类型,适用于范围查询和排序操作。B-Tree索引中的键值是有序的,因此可以快速定位到数据行。 2....

    Mysql 数据库表结构导出工具 DBExportDoc V1.0 For MySQL

    Mysql 数据库表结构导出工具,带教程

    mysql存储与索引技术

    应根据应用需求选择合适的存储引擎,合理设计索引结构,同时关注索引带来的存储和性能影响,以实现数据库的最佳运行状态。在实践中,定期评估和调整索引策略,结合具体的业务场景进行优化,是保持数据库高效运行的...

    mysql查询不走索引及解决方法

    mysql查询,通过explain 分析,没有利用到索引,查询效率不高等出现的问题。

    Mysql数据库表结构差异性对比工具

    为了解决这个问题,"Mysql数据库表结构差异性对比工具"应运而生。这款工具能够帮助开发者快速识别并解决数据库之间的结构差异,确保系统的稳定运行。 在数据库管理中,表结构的对比是关键的一环,它涉及到字段数量...

    mysql通过data文件夹恢复数据和存储过程的方法

    ### MySQL通过Data文件夹恢复数据和存储过程的方法 在MySQL数据库管理中,有时我们需要从data文件夹中恢复数据和存储过程。这种情况可能出现在多种场景下,例如:误删除了重要的数据库对象、数据库出现故障需要紧急...

    mysql表结构同步[源代码]

    在提供的源代码"MysqlSync"中,可能包含了实现上述步骤的类和方法。例如,可能会有一个`DatabaseComparator`类用于比较表结构,一个`SqlExecutor`类用于执行SQL语句,以及一个主程序来协调整个同步过程。源代码的...

    MySql.Data.dll 6.4.4 For .NET 2.0

    3. 在代码中引入命名空间 `using MySql.Data.MySqlClient;`,即可开始编写与 MySQL 数据库交互的代码。 需要注意的是,`MySql.Data.dll` 的不同版本可能与不同版本的 MySQL 服务器兼容性不同,因此在使用时应确保与...

    Oracle|Sqlserver|MySql数据库表结构一键生成工具

    "Oracle|Sqlserver|MySql数据库表结构一键生成工具" 提供了一种高效的方法来自动化这个过程,大大减轻了手动编写文档的工作量。这款工具能够支持三种主流的关系型数据库管理系统:Oracle、SQL Server和MySQL。 ...

Global site tag (gtag.js) - Google Analytics