可以让数据表中的列名都加上表名前缀吗

jiabin_007 2009-09-29 09:11:50
例如,我在多表查询时生成临时表。如果列名有重复,它会加上表名前缀table.columnName,否则,列名不会加表名前缀。

我如何才能控制它是否加表名前缀呢?


...全文
434 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaohongbo83 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]
SQL codeselect name+","from syscolumnswhereobject_name(id)='equipment'--'equipment'为表名.
能获得所有字段的名称,然后你进行字符串拼接
[/Quote]
这句话可以吗?
是在什么数据库上用的,我在oracle 10g上用不对。
学习了~
jiabin_007 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]
SQL codeselect name+","from syscolumnswhereobject_name(id)='equipment'--'equipment'为表名.
能获得所有字段的名称,然后你进行字符串拼接
[/Quote]
这条语句中的object_name在access中不能使用吧?我使用的是access数据库
jiabin_007 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]
SQL codeselect name+","from syscolumnswhereobject_name(id)='equipment'--'equipment'为表名.
能获得所有字段的名称,然后你进行字符串拼接
[/Quote]
这条语句中的object_name在access中不能使用吧?我使用的是access数据库
MoXiaoRab 2009-10-10
  • 打赏
  • 举报
回复

select name+"," from syscolumns where object_name(id)='equipment'
--'equipment'为表名.

能获得所有字段的名称,然后你进行字符串拼接
jiabin_007 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huabinsir 的回复:]
select A.no, B.no from Table1 A, Table2 B ......
[/Quote]

假如我不知道某些字段名,而想通过Select * From TableA, TableB提取所有的记录。那我可以让查询结果的列名加上表名前缀吗?
huabinsir 2009-09-29
  • 打赏
  • 举报
回复
select A.no, B.no from Table1 A, Table2 B ......
SQL Server数据库命名规范1 SQL Server数据库命名规范 良好的命名习惯是一种美德,下面是关于数据库命名的规范: 数据库命名规范: 1. 数据库名: 1.1)用产品或项目的名字命名; 1.2)采用Pascal Case,如AdventureWork、DoubleHappiness等; 1.3)避免使用特殊字符,如数字,下划线,空格之类; 1.4)避免使用缩写:已有的缩写按照常用的格式,而不要自己制定一套标准,让人难以 理解。如:Organization可以缩写为Org; 1.5)需要采用缩写形式表示的数据库,需要在文档里进行说明,如:DHMES,DH就是Do ubleHappiness的缩写,需要在文档里注明; 2. 表名 2.1)单表使用复数,采用Pascal Case,而复数只加在最后一个单词上如:Products,Users;交叉表使用单数,如:Use rRole、UserRight等等;可以参见Northwind数据库和Pubs数据库; 2.2)避免使用特殊字符,如数字,下划线,空格之类; 2.3)避免使用缩写。 3. 列名 3.1) 使用Pascal Case; 3.2) 避免和表名重复,避免数据类型前缀如: Int 3.3) 避免使用缩写或者特殊字符 3.4) 表里面一般要包含一个Identity字段,不代表任何含义; 3.5) 注意主键和索引的使用规则(参见主键部分的描述)。 4. 存储过程 4.1)用动词加表名描述操作类型; 4.2)使用前缀:sp+{"Insert", "Update", "Delete", "Get", "Validate",...}; 5. 视图 5.1)参考表名规则; 5.2)用"v"做前缀,后面的名字组成按照实际内容命名。 6. 触发器 6.1)使用"t"前缀; 6.2) 使用操作类型+表名,如:tI_Products,后面I、U、D则使用大写,两个动作的触发器则 使用两个大写字母,如tIU。后面加上触发表的名字,如tI_Users。 7. 索引 7.1)使用格式如:idx_{表名}_{索引列名}_{Unique/NonUnique}_{Cluster/NonCluste r} 8. 主键 8.1) 使用格式如:pk_{表名}_{主键列名}; 9. 外键 9.1) 使用格式如:fk_{主表名}_{主表的列名}_{引用表名}_{引用表的列名} 10. default 10.1) 使用格式如:df_{表名}_{列名} 11. 约束 11.1) 使用格式如:ck_{表名}_{列名} 12. 变量 12.1) 参照列名规则 ----------------------- 数据库设计规范-模板全文共3页,当前为第1页。 数据库设计规范-模板全文共3页,当前为第2页。 数据库设计规范-模板全文共3页,当前为第3页。
PowerBI系列之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL动态传参和自定义函数: sql使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值列表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择列和删除列、填充单元格、合并列、拆分、提取、替换、条件替换、添加自定义列,添加条件列、添加索引列、分组、添加年月日列、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹多Excel文件并合并解决多文件合并列顺序不一致使用参数和函数批量导入文件 文本提取文、英文、数字等处理双引号转义 列拆分详解解决列名改变错误解决列丢失错误动态显示、排序和重命名列为所有列名添加前缀列名字母大写和分隔符调整Trim标题列的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多列排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 
数据库设计命名规范全文共6页,当前为第1页。数据库设计命名规范全文共6页,当前为第1页。 数据库设计命名规范全文共6页,当前为第1页。 数据库设计命名规范全文共6页,当前为第1页。 数据库设计命名规范 版本: V1.0 日期: 2015-11-30 拟定: 审核: 科大讯飞 教育产品事业部 数据库设计命名规范全文共6页,当前为第2页。数据库设计命名规范全文共6页,当前为第2页。 数据库设计命名规范全文共6页,当前为第2页。 数据库设计命名规范全文共6页,当前为第2页。 修订记录 时间 版本 修改点 修改人 目 录 1 目的 3 2 数据库名命名规范 3 3 数据库表命名规范 3 4 表字段命名规范 4 5 表设计规范 4 6 索引命名规范 5 7 主键、外键命名规范 5 目的 此规范包括数据库名命名规范、表名命名规范、字段名命名规范、表设计规范;适用对数据库设计命名规范全文共6页,当前为第3页。数据库设计命名规范全文共6页,当前为第3页。象开发、设计、测试人员。 数据库设计命名规范全文共6页,当前为第3页。 数据库设计命名规范全文共6页,当前为第3页。 数据库名命名规范 数据库用户名应包含"项目编号+"_"+"子系统编号"。如:"epsp_safety" 数据库名均以英文小写与下划线组合。 数据库字符编码:utf8。 数据库表命名规范 数据库表的命名以是名词形式且都为小写。 表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部小写。如: 数据库表名应该有意义,并且易于理解,最好使用可以表达功能的英文单词或缩写,如果用英文单词表示,建议使用完整的英文单词。 表名不可以太长,最好不要超过3个英文单词长度(22个字母)。 在数据库表命名时应该用英文单词的单数形式,如员工表命名:应该为employee而不是employees。 如果是后台表命名时应该在表名基础上加上后缀 _b或_base。 在表创建完成前,应该为表添加表的注释。 表字段命名规范 字段名为小写。 数据库设计命名规范全文共6页,当前为第4页。数据库设计命名规范全文共6页,当前为第4页。字段名为有意义的单词,或单词的缩写。 数据库设计命名规范全文共6页,当前为第4页。 数据库设计命名规范全文共6页,当前为第4页。 如果字段由几个单词组成,则单词间用下划线("_")分割。 字段名限制在30个字符内。当字段名超过30字符时,可用缩写来减少字段名的长度,如information->info;address -> addr等。 系统所有属于内码,即仅用于标识唯一性和程序内部用到的标识性字段,字段名称建议取为id,采用类型为整型或长整型。 系统属于是业务内的编号字段,代表一定业务信息,建议字段命名为code ,如工作单编号。 不要在数据库表字段(列名包含数据类型,如:datetime。 不要在数据库表字段(列名)命名时重复表名,可以使用表名首字母或缩写(不包含数据库表名前缀)。 不要在数据库表字段(列名)命名时,使用数据库关键字,如:name,time ,datetime ,password 等。 表设计规范 所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必须有默认值。字符型的默认值为一个空字符值串'';数值型的默认值为数值0;逻辑型的默认值为数值0;其:系统所有逻辑型数值0表示为"假";数值1表示为"真"。datetime、smalldatetime类型的字段没有默认值时,必须为NULL。 当字段定义为字符串形时建议使用varchar而不用nvarchar。注:在MySQL5.0以上的版本,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节 建议在大 数表含有如下字段 数据库设计命名规范全文共6页,当前为第5页。数据库设计命名规范全文共6页,当前为第5页。字段名 数据库设计命名规范全文共6页,当前为第5页。 数据库设计命名规范全文共6页,当前为第5页。 说明 类型 默认值 CreatorID 创建者 int 0 CreatedTime 创建时间 Datetime NULL 字段的描述 字段必须填写描述信息(注释) 尽量遵守第三范式的标准(3NF) 表内的每一个值只能被表达一次(列名不重复)表内的每一行都应当被唯一的标示(标识唯一性,如自动增长主键) 表内不应该存储依赖于其他键的非键信息 索引命名规范 索引须按照IDX_table__,其是建立索引的表名
Oracle数据库设计规范建议 1 目的 本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生 的麻烦;同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很 好的保证。 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其 应用系统,有效存储数据,满足用户信息要求和处理要求。 2 适用范围 本规范的适用人员范围包括我司的所有应用开发人员以及在我司承接数据库应用开 发的软件人员。 本规范的适用IT范围包括数据库对象的命名规范、设计原则、SQL语句的设计和使用 、SQL语句的性能优化建议、其他与性能有关的设计原则以及设计工具的选择。 3 数据对象的命名规范 3.1 通用规范 3.1.1 使用英文:要用简单明了的英文单词,不要用拼音,特别是拼音缩写。主要目的很明确 ,让人容易明白这个对象是做什么用的; 3.1.2 一律大写,特别是表名:有些数据库,表的命名乃至其他数据对象的命名是大小写敏感 的,为了避免不必要的麻烦,并且尊重通常的习惯,最好一律用大写; 3.2 数据库对象命名规范 3.2.1 表的命名 3.2.1.1 表名前缀前缀_表名_T。为表的名称增加一个或者多个前缀前缀名不要太长,可以 用缩写,最好用下划线与后面的单词分开;其目的有这样几个: 3.2.1.1.1 为了不与其他项目或者其他系统、子系统的表重名; 3.2.1.1.2 表示某种从属关系,比如表明是属于某个子系统、某个模块或者某个项目等等。表示这 种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员。比如以子系 统为前缀的,当看到这个表的时候,就知道有问题可以去找该子系统的开发和使用人员 ; 3.2.2 视图命名:相关表名_V(或者根据需要另取名字); 3.2.3 程序包命名:程序包名_PKG(用英文表达程序包意义); 3.2.4 存储过程命名:存储过程名_PRO(用英文表达存储过程意义); 3.2.5 函数命名:函数名称_FUN(用英文表达函数作用); 3.2.6 触发器命名:触发器名称_TRI(用英文表达触发器作用); 3.2.7 索引命名:表名_字段名_IDX(如果存在多字段索引,取每字段前三个字符加下划线组合 ,如在 custom, cutting, curtail 上建立联合索引,命名为 表名_cus_cut_cur_IDX,如果前三个截取字符相同,就从字段名称不同的字符开始取三 个字符加下划线组合,如在 custid, custom,custname上建立联合索引,就命名为表_tid_tom_tna_IDX; 3.2.8 唯一索引命名:表名_字段名_UNI(如果存在多字段唯一索引,取每字段前三个字符加下 划线组合,如在 custom, cutting, curtail上建立唯一索引,命名为 表名_ cus_cut_cur_UNI,如果前三个截取字符相同,就从字段名称不同的字符开始取三个字 符加下划线组合,如:在 custid, custom,custname上建立唯一索引,命名:表_tid_tom_tna_UNI; 3.2.9 主键命名:表名_字段名_PK(如果存在多字段主键,取每字段前三个字符加下划线组合, 如在 custom, cutting, curtail上建立主键,命名为 表名_cus_cut_cur_PK,如果前三个截取字符相同,就从字段名称不同的字符开始取三 个字符加下划线组合,如在 custid, custom,custname上建立主键,命名:表_tid_tom_tna_PK; 3.2.10 外键命名:表名_主表名_字段名_FK; 3.2.11 Sequence 命名:表名_列名_SEQ(或者根据需要另取名字); 3.2.12 Synonym 命名:与对应的数据库对象同名; 3.2.12 JAVA 命名:遵守公司相应的JAVA命名规范; 4 数据库对象设计原则 4.1 表的设计 4.1.1 主、外键 4.1.1.1 每个表,都必须要有主键。主键是每行数据的唯一标识,保证主键不可随意更新修改, 在不知道是否需要主键的时候,请加上主键,它会为你的程序以及将来查找数据的错 误等等,提供一定的帮助; 4.1.1.2 一个表的某列与另一表有关联关系的时候,如果加得上的话,请加上外键约束。外键是 很重要的,所以要特别强调: 4.1.1.2.1 适量建外键。为了保证外键的一致性,数据库会增加一些开销,如果有确凿的并且是对 性能影响到无法满足用户需求的证据,可以考虑不建外键。否则,还是应该建外键; 4.1.1.2.2 不要以数据操作不方便为理由而不建外键。是的,加上外键以后,一些数据操作变得有 些麻烦,但是这正是对数据一致性的保护。正是因为这种保护很有效,所以最好不要拒

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧