
在mysql里有个系统库叫information_schema
里面有所有系统对象;
其中 columns表里存储着所有字段信息
select column_name from columns where table_schema=your_database_name and table_name=your_table_name
执行 sql语句 “show columns from tbname” tbname 是要获取的表的表名
会得到 一个结果集 包含了字段名 数据类型 是否可以为空 是否主键 默认值 是否自增 等信息 要改足够使用了
mysql安装成功后可以看到已经存在mysql、information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息。知道这个表后,获取任意表的字段就只需要一条select语句即可。例如:
select COLUMN_NAME from information_schemaCOLUMNS where table_name = 'your_table_name';
上述的做法有一点问题,如果多个数据库中存在你想要查询的表名,那么查询的结果会包括全部的字段信息。通过DESC information_schemaCOLUMNS可以看到该表中列名为TABLE_SCHEMA是记录数据库名,因此下面的写法更为严格
select COLUMN_NAME from information_schemaCOLUMNS where table_name = 'your_table_name' and table_schema = 'your_db_name';
不建议用自动编号字段作为外键关系约束的字段。
不过,你要坚持这么用,当然也可以。
先追加主记录后,用select @@identity获取新追加的主表的id1,然后在追加子表时,用这个值作为子表id1的值
二、
主键和外键是相对于整个数据库来说的,总体来说就是要实现数据库的实体完整性、参照完整性等完整性的约束。并满足数据库规范化的要求 1NF、2NF
对于一个表定义了一个主键,对于该表可以为通过该键唯一地表示表中的每一记录。外键是相对于表中的一个列给它的一个约束,一般是另一个表中的主键,该列的值必须在另一个表中出现。
由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
外键的作用:
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!
恩, 好象不缺少一些关系数据库的基础知识
简单的说, 在关系型数据库中的每一个表都具备这样的特点, 在同一个表中没有完全一致的两行数据, 当一行数据可以有少数几个属性确定的话,这几个属性就可以成为主键, 设立了表的主键之后,数据库系统会为主键的列建立索引和制约, 利用主键进行检索的速度是最快的
只能有一个自增的列,而且一般来说该列都是主键,你要不就是没将auto_increment的字段设为主键,要不就是设了不止一个auto_increment字段
每个表里只能有这样的一个字段,不能有多个希望有帮助。dodofun可到CSDN,365testing逛逛
以上就是关于mysql 如何获取 表头信息全部的内容,包括:mysql 如何获取 表头信息、如何获取MySQL数据库的字段的数据类型信息、QT中mysql怎么获取某张表的所有字段名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)