sql如何查某个表某个字段的数据类型


sql如何查某个表某个字段的数据类型

文章插图
SELECT syscolumnsname,systypesname,syscolumnslength
FROM syscolumns JOIN systypes ON syscolumnsxusertype=systypesxusertype
WHERE syscolumnsid=OBJECT_ID('COURSE')
或者
SELECT colname, typename,collength
FROM syscolumns col JOIN systypes type ON colxusertype= typexusertype
WHERE colid=OBJECT_ID('表名')
-- 两者都是一样的 , 只是添加了友好列名而已
-- OBJECT_ID(),系统自带的一个方法根据表明获得系统内表的ID号
-- syscolumnsname -- 列的名称
-- systypesname -- 列类型名
-- syscolumnslength -- 类型长度
---------------------------------------------------------------------------------------
或者用楼上的方法 , 调用系统自带的一个存储过程得到关于你想要表的所有信息
altertable表名altercolumn字段名typenotnull 。
1、修改字段名:
altertable表名renamecolumnAtoB 。
2、修改字段默认值:
altertable表名adddefault(0)for字段名withvalues,如果字段有默认值,则需要先删除字段的约束 , 在添加新的默认值 。
3、增加字段:
altertable表名add字段名typenotnulldefault0 。
5、删除字段:
altertable表名 dropcolumn字段名 。
扩展资料:




alter其他用法
1重命名表
ALTERTABLE表名字RENAME表新名字
2删除表中主键
AlterTABLE表名字dropprimarykey
3添加主键
ALTERTABLEsj_resource_chargesADDCONSTRAINTPK_SJ_RESOURCE_CHARGESPRIMARYKEY(resid,resfromid)
4添加索引
ALTERTABLE sj_resource_chargesaddindexINDEX_NAME(name);
5 添加唯一限制条件索引
ALTERTABLEsj_resource_chargesadduniqueemp_name2(cardnumber);
6删除索引
altertabletablenamedropindexemp_name;
7联合唯一索引
ALTERTABLEtablename ADDUNIQUEINDEXINDEX_NAME(school_id,settlement_time);
alter ignore tabletablename add unique index(user_id,user_name)
参考资料:



百度百科——ALTERTABLE_SQL命令
用SQL语句查询一个数据表所有字段的类型可以参考下面的代码:
SELECT
name AS column_name,TYPE_NAME(system_type_id) AS column_type,
max_length,is_nullable
FROM syscolumns
WHERE object_id=OBJECT_ID(N'Address')
扩展资料:



SQL语句
创建索引:create [unique] index idxname on tabname(col… 。)
增加列:Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项
删除索引:drop index idxname on tabname
参考资料来源:百度百科-结构化查询语言
MySQL的字段类型
char(length)
char类型最大长度是255个字符 。当插入到表中的字符串的长度小于length时候,将给字段右边不够的部分用空格填补 。