在特定时候,在 mysql 的查询结果中我们需要追加一个字段来实现某些特定的功能,这时我们可以用到以下语法来实现 值 as 字段比如我们需要给这个查询结果追加一个 xx 字段并赋值为 null ,可以这样实现 select *, null as xx from topic; --------------------- 作者:卩杉 来源:CSDN 原文:https://blog.csdn.net/xiaobinqt/article/details/83071185 版权声明:本文为博主原创文章,转
1.对一个表执行ddl(新增字段)会不会阻塞表,影响读写? 在一次项目升级之前需要执行一个新增字段的脚本(alter table...),表的数据量是260多万,执行时间是72秒,感觉略长,不知道会不会影响项目对数据库的操作,故连百度带问一番,得出一些结果. 结论是:执行alter table...会影响读写 2.MySQL官方文档alter table的解释 ALTER TABLE operations that use the COPY algorithm wait for other op
mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2); 查询重复的数据 select * from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) order by create_time asc; 删除单个字段重复数据 DELETE from lot_order
工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段的位置. 1.原始方法: --新建临时表以存储正确的顺序 create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ; --删除表A_1 drop table A_1; --新建A_1并从A_2表中赋予其正确的顺序和值 create table A_1 as select * from A_2; --删除临时表A_2 drop table A_2; 这种方法对字段较少
// 新增之前判断表是否存在 IF NOT EXISTS (SELECT NAME FROM SYSOBJECTS WHERE ID = OBJECT_ID('tb_MessageHistory')) BEGIN CREATE TABLE tb_MessageHistory( LSH VARCHAR(36) NOT NULL PRIMARY KEY, -- 流水号 appId VARCHAR(36) NOT NULL, -- appId
表太多,只记得这个表有一个mygame的字段,但是并不知道这张表在那个数据库下,只能根据这个字段查找对应的表和所在数据库 select table_schema,table_name from information_schema.columns where column_name = '字段名' 演例: mysql> select table_schema,table_name from information_schema.columns where column_name = 'gname