精华内容
下载资源
问答
  • java如何获得数据库表中各字段的字段名
  • select *和select 字段名

    千次阅读 2020-07-21 18:07:58
    建议使用select 字段名 而少用select *。原因如下 1、SELECT*语句取出表中的所有字段,不论该字段的数据对调用的应用程序是否有用,这会对服务器资源造成浪费,甚至会对服务器的性能产生一定的影响。 2、如果表的...

    建议使用select 字段名 而少用select *。原因如下

    1、SELECT * 语句取出表中的所有字段,不论该字段的数据对调用的应用程序是否有用,这会对服务器资源造成浪费,甚至会对服务器的性能产生一定的影响。

    2、如果表的结构在以后发生了改变,那么SELECT * 语句可能会取到不正确的数据甚至是出错。

    3、执行SELECT * 语句时,SQL Server首先要查找出表中有哪些列,然后才能开始执行SELECT * 语句,这在某些情况会产生性能问题。

    4、使用SELECT * 语句将不会使用到覆盖索引,不利于查询的性能优化。

    5、在文档角度来看,SELECT * 语句没有列明将要取出哪些字段进行操作,所以也是不推荐的。

       

    关于Select * 与Select 字段名 的问题!

     

    理由一:不用 * 号而列取字段,是严谨且良好的习惯。

       

    理由二:记得在SQL2000,如果在视图中使用了select *,像 SQL code

    select from tableA

    然后再修改tableA的结构, 

    回过头来看之前建立的视图,竟发现视图是不会自动更新的, 

    即在视图中的select *,返回的还是原有的旧结构, 

    这种不能同步更新的情况,很容易被忽视,造成错误.

     

    理由三:   

    我以前也这样做的,不过都让改成显示列名了.理由是如果数据库中的这个表有所改动,如增加一列,而根本不需要显示.所以还是尽量用列名比较好.而且对于代码的理解也比较好.

       

    理由四:

    不建议用*,最好是写列名,排版好就行了。

       

    理由五:  

    建议下一个SQL标准中取消 "select *"的用法     :)   

    在大多数情况下都是明确写出列名好, 

    select * 大多数情况下是图个方便。

       

    理由六: 

    select *只是圖個方便,當你的返回表中有入讀比較大的字段或者有二進制數據字段時,容易產生字段名混亂錯誤。你調用返回表時可能會出現的得不了具體值。一個個寫出來字段可以避免這些情況。

       

    理由七:  

    这要看实际情况啥... 

    考虑到大数据量时最好用字段不用*;因为用*会把其表中的如INDEX...等用不上的信息全部提取. 

    习惯不用*久了秒一切OK了. 

    数据量大的效率问题就出来了...

    展开全文
  • Mysql修改字段名、修改字段类型

    万次阅读 多人点赞 2018-02-23 15:45:02
    mysql修改字段类型: ...ALTER TABLE 表名 MODIFY COLUMN 字段名 新数据类型 新类型长度 新默认值 新注释; -- COLUMN可以省略 alter table table1 modify column column1 decimal(10,1) DEFAULT NULL COMMENT '...

    1 修改字段类型、字段名、字段注释、类型长度、字段默认值

    mysql修改字段类型:	 
    --能修改字段类型、类型长度、默认值、注释
    --对某字段进行修改
    ALTER  TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度  新默认值  新注释;
     -- COLUMN关键字可以省略不写
    
    alter  table table1 modify  column column1  decimal(10,1) DEFAULT NULL COMMENT '注释'; -- 正常,能修改字段类型、类型长度、默认值、注释
    
    alter  table table1 modify column1  decimal(10,2) DEFAULT NULL COMMENT '注释'; 
    -- 正常,能修改字段类型、类型长度、默认值、注释
    
    mysql修改字段名:
    ALTER  TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型;	 
    alter  table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释'; -- 正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释
    alter  table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释
    alter  table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释
    alter  table table1 change column1 column2; -- 报错 
    
    mysql> alter table white_user change column name nick_name  varchar(50) null comment '昵称'; -- 正确
    Query OK, 0 rows affected (0.02 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    

    2 修改表名

    ALTER TABLE 旧表名 RENAME TO 新表名 ;
    
    mysql> show tables ;
    +-------------------+
    | Tables_in_db_test |
    +-------------------+
    | white_user   |
    +-------------------+
    1 row in set (0.00 sec)
    
    
    
    mysql> alter table white_user rename to white_user_new ;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show tables ;
    +-------------------+
    | Tables_in_db_test |
    +-------------------+
    | white_user_new    |
    +-------------------+
    1 row in set (0.00 sec)

    3 修改表的注释

    ALTER TABLE 表名 COMMENT '新注释'
    
    mysql> alter table  white_user_new comment '新表-白名单表' ;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> show create table white_user_new ;
     CREATE TABLE `white_user_new` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `name` varchar(50) NOT NULL COMMENT '姓名',
      `created_time` datetime DEFAULT NULL COMMENT '创建时间',
      `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表' 
    
    
    

    4

    在指定位置插入新字段

    ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 是否可为空 COMMENT '注释' AFTER 指定某字段 ;
    --COLUMN关键字可以省略不写
    
    mysql> alter table white_user_new add column erp varchar(50) not null comment 'erp账号' after name ;
    Query OK, 0 rows affected (0.03 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    --在name字段后面添加erp字段
    
    mysql> show create table white_user_new ;
    CREATE TABLE `white_user_new` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `name` varchar(50) NOT NULL COMMENT '姓名',
      `erp` varchar(50) NOT NULL COMMENT 'erp账号', 
      `created_time` datetime DEFAULT NULL COMMENT '创建时间',
      `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'      
    
    
    
    
    mysql> alter table white_user_new add position varchar(50) not null comment '岗位' after name ;
    Query OK, 0 rows affected (0.02 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    --在name字段后面添加position字段。
    
    mysql> show create table white_user_new ;                                      
    CREATE TABLE `white_user_new` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `name` varchar(50) NOT NULL COMMENT '姓名',
      `position` varchar(50) NOT NULL COMMENT '岗位',
      `erp` varchar(50) NOT NULL COMMENT 'erp账号',
      `created_time` datetime DEFAULT NULL COMMENT '创建时间',
      `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'      
    
    
    
    mysql> alter table white_user_new add  mobile varchar(50) not null comment '手机号码' before position ;
    --报错,在position字段前添加mobile字段,不能使用before关键字
    

    5 删除字段

    ALTER TABLE 表名 DROP [COLUMN] 字段名 ;
    --COLUMN关键字可以省略不写
    
    mysql> alter table white_user_new drop column position ;
    Query OK, 0 rows affected (0.02 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> alter table white_user_new drop erp ;
    Query OK, 0 rows affected (0.02 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> show create table white_user_new ;                                      
    CREATE TABLE `white_user_new` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `name` varchar(50) NOT NULL COMMENT '姓名',
      `created_time` datetime DEFAULT NULL COMMENT '创建时间',
      `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名单表'      
    
    
    
    

    -------------------------------

    JobShow裁员加班实况

    互联网避坑指南:各公司公积金、年(中)终奖、加班回报、福利

    薪火相传,欢迎新增,欢迎转发👏👏👏

    【发布3天:累计访问人数 5000+

    -------------------------------  

    大头记账本

    生活花销,便捷清晰,安全加密。免费永久提供服务。

    -------------------------------

    恋爱花销】记账本

    【统计谈恋爱花了多少花哪去了,做到心中有数】

    安全加密,免费永久提供服务

    -------------------------------

    更多企业内的技术应用和使用技巧,请移步至我的公众号【程序员实用技能】

    图片

    展开全文
  • SQL Server 修改字段名

    千次阅读 2020-02-21 10:10:11
    修改字段名: execute sp_rename ‘表名.字段名name’,‘新字段名nickname’; 然后是修改类型 新增字段 详细例子: http://yayihouse.com/yayishuwu/chapter/2458

    修改字段名:
    execute sp_rename ‘表名.字段名name’,‘新字段名nickname’;

    然后是修改类型

    新增字段

    详细例子:
    http://yayihouse.com/yayishuwu/chapter/2458

    展开全文
  • PG库修改某个表的字段名

    千次阅读 2021-04-23 14:10:45
    更换字段名 alter table 表名 rename column 字段名 to 新字段名; 更换表名 alter table 表名 rename to 新表名;
    • 更换字段名
      alter table 表名 rename column 字段名 to 新字段名;
    • 更换表名
      alter table 表名 rename to 新表名;
    展开全文
  • json字段名不一致的问题

    千次阅读 2019-06-21 16:54:29
    项目开发过程中,有时候可能要对接第三方平台,可能就会存在字段名不一样的问题,而双方的字段名不一致, 而代码开发已经有一段时间勒,如果就因为字段名不一样的问题,双方改成属性名一致,这样改动量太大,也不...
  • Java获取实体类字段名

    千次阅读 2020-10-20 11:33:29
    /** * 使Function获取序列化能力 */ @FunctionalInterface public interface SFunction<T, R> extends Function<T, R>, Serializable { } ...public class SFunctionUtil { ... // 从functi
  • 直接上代码: type User struct{ Username string `json:"Username"` Socre float`json:"Socre...//获取结构体中字段的名称 func GetFieldName(columnName string, info User) float64 { var val float64...
  • Python 查询数据库 显示字段名

    千次阅读 2019-12-25 17:57:40
    #设置游标 查询出来的数据才会带上字段名 db_cur = db.cursor(MySQLdb.cursors.DictCursor) #设置游标 查询出来的数据才会带上字段名 db_cur = db.cursor(MySQLdb.cursors.DictCursor)  
  • mybatis返回字段名大写问题

    千次阅读 2020-08-13 16:25:56
    mybatis如果不做区分大小写的设置的话,默认是不会区分大小写的,执行出的sql字段全部大写。 方法1.加上字段别名加上双引号 Select name as "name" from v_zhyl_zxzf_hqyzflb 方法2.返回字段映射到实体类型: ...
  • MySQL在数据库中查找某个字段名

    千次阅读 2020-05-01 14:48:00
    如果想在数据库中要查找某个字段名,但又不知道是哪个表那么就用下面这条语句,“真的是太香了!” SELECT table_schema ,table_name FROM information_schema.columns WHERE column_name = '字段名' ...
  • 数据库字段起名字

    千次阅读 2018-06-27 08:43:55
    https://www.jianshu.com/p/85ab7482595b
  • 1. 修改字段名或字段类型 hive表,能增加列,不可以删除列,但可以改列名; 对于分区表,要使用cascade才会对所有分区生效,否则,历史分区不会生效。 --修改字段名 alter table tablename change value1 value1_...
  • hive查询时怎么显示字段名

    千次阅读 2018-10-04 16:55:46
    此时显示的字段名带表名,可读性很差,继续在hive cli中: set hive.resultset.use.unique.column.names=false; hive> set hive.resultset.use.unique.column.names=false; hive> select * from ratings limit 5; ...
  • alter table 表名 modify column 字段名 类型。数据库中address表 city字段是varchar(30),修改类型可以用(谨慎修改类型,可能会导致原有数据出错)。 mysql> alter table address modify column city char(30)...
  • mysql查表的字段名

    千次阅读 2018-12-06 17:57:03
    select COLUMN_NAME from information_schema.columns where table_name='表名' and TABLE_SCHEMA='库名'
  • 当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题 数据库字段是 pwd id name pwd 1 张三 123456 2 李四 123456 3 王五 123456 4 赵六 123456 实体类字段是 password public class User { ...
  • oracle中字段名与sql关键字重名的处理方法 直接po截图和代码 oracle创建表,字段有特殊关键字的处理 比如要创建的表中有group字段,需要加上英文的双引号即可创建 create table address( "group" char(30) ) /...
  • 在使用mybatis或者mybatis-plus时候,有些时候会出现数据库的字段名和实体类的字段名不一致的情况,如果运行那么这个字段就会无法进行自动映射而报错。这里就以我的数据库name字段名和这里的实体类的u_name字段名为...
  • 实体类中的属性名和表中的字段名不一样 怎么办? 第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致。下面展示一些 内联代码片。 <select id=”selectorder” parametertype=...
  • 数据库表名 字段名的命名长度限制

    千次阅读 2020-04-26 09:13:01
    数据库 表名长度限制 ... 字段名长度限制 oracle 30 30 mysql 64 64 db2 128 128 ...
  • Jackson 注解 -- 修改字段名

    千次阅读 2019-05-25 16:56:43
    如果 JSON 和对象字段名不匹配,我们可以使用注解 @JsonGetter 和 @JsonSetter package shangbo.jackson.demo11; import java.util.Date; import org.apache.commons.lang3.builder.ToStringBuilder; import ...
  • 方案一: 在XML映射文件中使用的resultMap, 优点:可以被重复使用。 <resultMap id="BaseResultMap" type=... <!-- 用id属性来映射主键字段 --> <id column="_id" jdbcType="VARCHAR" property="...
  • SQL中永久的修改表的字段名字

    千次阅读 2020-04-15 23:27:40
    永久修改字段名字,需要创建新表 原表: select *from sony_members; 短暂修改表的字段名字: select age as age2 from sony_members; 永久修改表的字段名字 ALTER TABLE sony_members CHANGE age age2 int; ...
  • 数据库关键字order用做字段名

    千次阅读 2019-07-09 12:33:03
    mysql是有关键字的,如果不慎将关键字用做了字段名,那就会出现意想不到问题。 order,是mysql的关键字,是不能写在where前面的,如果用了就需要将order用1旁边的那个引号引住,而jpa在进行存储这个字段的时候会报...
  • 设计数据库时一直报错,各种郁闷之后,发现总是提示从desc开始的位置sql 语句错误,测试了半天,这是因为desc常用来作为字段名标识和描述含义。解决方法是在sql语句中desc加上反引号desc。如果使用JPA等工具,就在...
  • oracle通过字段名查找表名

    千次阅读 2019-04-04 13:01:53
    select table_name from user_tab_columns t where t.COLUMN_NAME = '字段名';
  • 1.增加一个字段 代码如下 复制代码 //增加一个字段,默认为空alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认不能为空alter table user add COLUMN...
  • 这类查询很有意思,查询某个数据库中的表和字段的信息。通过排列组合可以总结出 4 种查询方式。...2. 查询数据库下字典表下所有字段名、数据类型、字段注释 SELECT COLUMN_NAME AS 字段名, DATA_TYPE AS
  • Golang自定义json导出字段字段名字

    千次阅读 2018-08-25 14:58:06
    Golang自定义json导出字段字段名字 show code: package main import ( "encoding/json" "fmt" ) func main () { student := Student{ Name: "Leego", age: 18, Sex: true...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,178,559
精华内容 471,423
关键字:

字段名