|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
php本地模拟的prepare底层就是mysql_real_escape_string,所以必须得用mysql_set_character_set去设置mysql->charset,否则就存在字符集问题。大概有伴侣要说了,这还不复杂,在企业办理器或microsoftsqlservermanagementstudio中睁开对应表上面的列信息不就能够看到列的具体信息了么?固然这是能够的,但这里我们次要讲的时怎样使用sql语句来查询指定表的列信息。
使用sql语句来查询列信息,就是要用到体系视图sys.columns,这个视图纪录了数据库中一切表,视图,表值函数等的一切列信息。我们能够使用语句select*fromsys.columns来检察这个视图前往的信息。
sys.columns前往的列对照多,年夜部分情形下良多列的信息我们大概用不到,上面我们只注释一下对照经常使用的列的信息。
1,object_id--这个列是对照主要的,它是前往以后列所属表的ID。使用它,我们就能够查询指定表的一切列信息,好比上面的sql语句是查询表table1的一切列信息。
select*fromsys.columnswhereobject_id=object_id(table1)
2,name--该列的列名。
3,column_id--该列在数据库中的ID,注重,数据库中任何工具的ID都是独一的。
4,system_type_id--该列的范例的ID,和上面max_length,precision,scale三列一同能够来举个示例。
5,max_length--该列的最年夜长度
6,precisionp--假如这列是数值列,那末这是该列的精度,不然就是0
7,scale--假如这列是数值列,那末这就是列的小数位数,不然就是0
system_type_id,max_length,precision,scale四列分离体系视图sys.types一同我们来举个示例。
假如我们要查询表table1的一切列,及列的范例,列的精度,列的小数位数,sql语句以下:
selecta.name,b.name,a.max_length,a.precision,a.scale
fromsys.columnsaleftjoinsys.typesbona.user_type_id=b.user_type_id
wherea.object_id=object_id(table1)
8,is_nullable--该列是不是能够为null
9,is_identity--该列是不是是标识列
10,is_computed--该列是不是是盘算列。使用该列,我们也就能够查询某个表的一切盘算列了,好比我们要查询表table1中的一切盘算列,sql语句以下:
select*fromsys.columnswhereobject_id=object_id(table1)andis_computed=1
sys.columns视图中经常使用的列就是这10列了,别的列的信息人人能够到SQLServer2005联机丛书中查询。两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。 |
|