`
hehaibo
  • 浏览: 416840 次
  • 性别: 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”的错误。这个错误提示非常直接,意味着你试图输入的数据在...

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

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

    两个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”的问题,需要根据实际情况调整字段长度或类型,以满足数据存储需求。在实践中,对字符集的理解和正确使用是预防此类问题的基石。

    Navicat 实现同步sqlserver表结构到mysql操作手册1

    需要注意的是,Navicat的此功能默认只会导入表结构,不会包含索引、约束和主键等元数据。因此,你可能需要手动在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。 ...

    java 读取表结构 mysql

    在Java编程中,读取MySQL数据库的表结构是一项常见的任务,尤其在开发数据管理或数据分析应用时。这个过程涉及到连接数据库、执行SQL查询以及解析返回的结果集。下面将详细讲解如何实现这一功能。 首先,我们需要...

    MySql.Data.dll For C#

    MySQL.Data.dll 包含了大量的类和方法,允许开发者执行SQL查询、事务处理、连接管理、数据类型转换等一系列数据库操作。以下是这个库的一些核心知识点: 1. **连接管理**:使用`MySqlConnection`类创建和管理到...

    zabbix监控mysql表空间.pdf

    1. 查看MySQL表空间占用情况:通过登录MySQL数据库,可以直接执行SQL查询语句来获取特定表(如zabbix数据库中的items表)所占用的数据容量和索引容量。这可以通过查询information_schema数据库的tables表实现,其中...

    mysql.data版本集合

    在这个“mysql.data版本集合”中,我们可能找到不同版本的MySQL数据库的数据文件,这些文件对于恢复或迁移数据库、解决特定问题或优化性能至关重要。 在处理“给定关键字不在字典中”的问题时,这可能涉及到数据库...

Global site tag (gtag.js) - Google Analytics