精华内容
下载资源
问答
  • MYSQL循环修改表字段值

    千次阅读 2018-09-07 09:17:49
    #获取当前循环中的游标的news_detail_id并加入到变量ID中    set programName=(SELECT name from t_program where id=idtemp)+mysort;  set programName2= CONCAT("test",programName);  #更新语句  ...

    create procedure test()#申明存储过程
    BEGIN  #存储过程开始
        declare idtemp int(11); #申明ID变量
        declare mysort int(11) default 1; #申明排序变量,并初始化1
        declare done boolean DEFAULT true; #申明循环变量
        #查询ID,并将news_detail_id设置到游标变量中
       DECLARE programName VARCHAR(100);
        DECLARE programName2 VARCHAR(100);
        declare cur CURSOR for select id from t_program ;

        open cur; #打开游标
            while done do  #开始循环
                fetch cur into idtemp; #获取当前循环中的游标的news_detail_id值并加入到变量ID中
            
                set programName=(SELECT name  from t_program where id=idtemp)+mysort;
                set programName2= CONCAT("test",programName);
                #更新语句
                update  t_program set name=programName2 where id=idtemp;
                set mysort=mysort+1; #将排序的变量加1
            end while; #结束循环
        close cur; #关闭游标
    END; #存储过程结束

    call test(); #调用存储过程

    drop procedure test ; #删除存储过程

    展开全文
  • 我们在修改表字段类型和约束条件的时候,如果表中的字段已经有了,但是你修改的这个类型和字段里边的不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的是允许存空值,并且字段里边已经存储空值了,...

    我们在修改表字段类型和约束条件的时候,如果表中的字段已经有值了,但是你修改的这个类型和字段里边的值不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的值是允许存空值,并且字段里边已经存储空值了,但是你后来又要修改这个字段不能存空值,那就会发生冲突,是不允许修改的,还有一个需要注意的是,需要修改的地方写新的,不需要修改的地方要原样的给抄下来,如果不原样抄下来那就恢复到系统给的默认配置

    我现在要修改下图表里的年龄字段类型为int类型,并且约束条件是不允许为空

    查看表结构

    mysql> desc tab15;

    6f4ac3c302ebaddc461531b28d016620.png

    修改字段类型和约束条件

    mysql> alter table tab15

    -> modify

    -> 年龄 int(4) unsigned not null; //unsigned不需要修改的要原样抄下来

    Query OK, 0 rows affected (0.01 sec)

    查看表结构

    mysql> desc tab15;

    35910cc09a01dbd1a6954bc5d3014586.png

    那我们在来做一个错误的示范,我现在给这个表里边允许为空的字段赋个空值,然后我在修改它不允许为空,我们看看效果

    赋值的时候不允许为空的字段要赋值

    mysql> insert into tab15 values(null,"haha","女",18,null,null);

    Query OK, 1 row affected (0.00 sec)

    查看表记录

    mysql> select * from tab15;

    92c4007e259ccd36b2bcfe18bc85c559.png

    接下来我要修改一下编号字段不允许为空,看看能修改成功吗

    mysql> alter table tab15

    -> modify

    -> 编号 int(3) not null;

    ERROR 1138 (22004): Invalid use of NULL value

    解释:无效的空值,这字段里边已经有空值了,但是你又要修改这个字段的值不能为空,这就是冲突了,是不允许修改的

    还有一个注意事项,修改字段类型和约束条件的时候,修改的写新的,不改的要原样的抄下来,就比如那个年龄字段我当初设置的时候是不能存负数,也不能赋空值,那现在如果我在想修改类型的时候,没有把约束的条件抄下来,那它就恢复到系统的默认配置,

    mysql> alter table tab15

    -> modify

    -> 年龄 tinyint(4); //只修改了字段类型,原有的约束条件我没有抄下来

    Query OK, 1 row affected (0.02 sec)

    那我们在看看表结构

    mysql> desc tab15;

    e20e835ea7774800050ce2832fc2f273.png

    字段原有的设置没有抄下来将会恢复到系统默认的配置

    我们在修改表字段的时候,还可以调整字段的位置,比如说现在我想把职业字段调到编号字段的下边

    mysql> alter table tab15

    -> modify

    -> 职业 varchar(50) after 编号;

    Query OK, 0 rows affected (0.04 sec)

    解释:只想调整位置也是把原先的类型都原样抄下来,然后指定放在那个字段的后边就可以了

    查看表结构

    mysql> desc tab15;

    0fd7f31e9f4c74dee80729fb474efddc.png

    如果你觉得哪个字段的位置不合理,那你就可以通过这样的方法去调整位置,想调到第一个字段那就用first(第一),想调到某一个字段的下边,那就用after(后)

    • 修改字段名

    基本语法

    ALTER TABLE 表名

    CHANGE 原字段名 新字段名 类型(宽度) 约束条件;

    修改字段名字的时候,字段里边的值是不受影响的,但是也有几个注意事项,需要改变的写新的,不需要改变的就原样抄下来,不然它也会恢复到默认配置,修改字段名时也可以顺便修改字段的类型和约束条件,但如果修改的类型与约束条件与字段里边的值发生冲突时也是不允许修改

    我现在要把这个表的职业字段的名字修改一下,修改成家庭地址

    0fd7f31e9f4c74dee80729fb474efddc.png

    修改字段名

    mysql> alter table tab15

    -> change 职业 家庭地址 varchar(50) after 年龄; //顺便调整到年龄字段后边

    Query OK, 0 rows affected (0.06 sec)

    查看表结构

    mysql> desc tab15;

    8c17b41172fea104cb7a2442df5dfbfd.png

    修改字段名的时候,可以修改字段的类型,也可以设置约束条件,但是不要和原有字段里边的值发生冲突

    • 删除字段名

    基本语法

    ALTER TABLE 表名

    DROP 字段名

    删除表字段的时候,如果表字段里边有值的话,那值也就没了

    删除表里的电话字段

    mysql> alter table tab15

    -> drop 电话;

    Query OK, 0 rows affected (0.06 sec)

    查看表结构

    mysql> desc tab15;

    80547a1e51358defdca85e7fd5839fb9.png

    要是想同时删除多个字段的话,用逗号分隔

    mysql> alter table tab15

    -> drop 年龄, //字段之间用逗号分隔

    -> drop 家庭地址;

    Query OK, 0 rows affected (0.05 sec)

    查看表结构

    mysql> desc tab15;

    e1577d16f5b7f4cc6b3928480bded0d8.png
    • 修改表名

    基本语法

    ALTER TABLE 表名

    RENAME 新表名; //用的关键字是rename

    修改tab15表的名字为haha

    mysql> alter table tab15

    -> rename haha;

    Query OK, 0 rows affected (0.00 sec)

    查看表

    mysql> show tables;

    2a8304dadc57ac7550bbbdcc71906d33.png

    查看表结构

    mysql> desc haha;

    9fb4ee1b8df73c6390e9c26fe3d064f9.png
    展开全文
  • 查看: 选择单个表->【右键】->【Table Inspector】 再选择Columns选项卡即可,把表格拉倒最后一列。 编辑: 选择单个表->【右键】->【Alter Table】 转载于:...

    查看:

    选择单个表->【右键】->【Table Inspector】

    再选择Columns选项卡即可,把表格拉倒最后一列。

    编辑:

    选择单个表->【右键】->【Alter Table】

    转载于:https://www.cnblogs.com/EasonJim/p/7525825.html

    展开全文
  • 如题,怎样修改表中某字段的字符串的,如我表中有数据如下: 很明显在内容中有个时间是不对的,我想把时间修改成具体的另一张表的某字段的到期时间。 这里用到mysql的两个函数,replace()和substring()...

    如题,怎样修改表中某字段的字符串的值,如我表中有数据如下:

    很明显在内容中有个时间是不对的,我想把时间修改成具体的另一张表的某字段的到期时间。

    这里用到mysql的两个函数,replace()和substring()(具体语法,参考这篇博客)。

    具体思路就是:先用substring把要替换的内容截取出来,然后再用replace函数替换成自己想要的内容

    分析一下,我的信息除了时间,其他的内容是一样的。这样的话,我们可以通过substring把时间截取出来,由于不知道要替换的文本下标是多少,这里我用java来获取,如下:

    public class demo {
    	public static void main(String[] args) {
    		
    		String s = "您购买的365家长课堂VIP会员已经即将到期(1970-01-18 17:20:21 到期),如想继续免费观看所有微课";
    		String s1 = "您购买的365家长课堂VIP会员已经即将到期(";
    		String s2 = "您购买的365家长课堂VIP会员已经即将到期(1970-01-18 17:20:21";
    		System.out.println("总长度" +s.length());
    		System.out.println("开始下标:" + s1.length());
    		System.out.println("结束下标:" + s2.length());
    		String ss = s.substring(23, 42);
    		System.out.println(ss);
    		System.out.println("截图到的内容长度:" + ss.length());
        }
    }

    输出的结果是:

    根据结果,我们就可以来截取和替换了。下面是mysql的写法:

    SELECT a.content
    ,replace(a.content,substring(a.content,24,19), '这里是你想替换的内容') new_content
    FROM tableA a

    ps:mysql里的substring(content,start,len)和java中的substring(content,start,end)这两个函数中的最后一个参数是不同的,mysql的是要截取的字符串长度,而java的是结束下标,所以上面substring(a.content,24,19)为什么是19而不是java代码中的42就是这个原因。

    我这里修改的是内容是我从另一张表查过来的字段,修改完后的效果如下图(update的sql就不贴出来了):

    批量修改完毕。

    总结:

    批量修改的内容除了要修改的部分,其他的部分要一样;

    在获取要截取内容的开始下标和内容长度,可借助自己熟悉的语言的字符串截取方法获得;

    最后使用replace函数进行内容替换。

     

     

    展开全文
  • mysql查看表字段注释

    2016-09-22 10:57:05
    SELECT COLUMN_NAME, COLUMN_COMMENT AS `备注` FROM information_schema.COLUMNS WHERE TABLE_NAME='xxx_table_... 修改主键ID起始(自增长)   alter table table——name AUTO_INCREMENT=6000;   ...
  • select count(1) from consumeA, recharge B WHERE A.G_R_ID = B.G_A_ID;
  • update table1 a1 inner join (select a.id from table1 a inner join table2 b on b.id=a.id where b.name='nameValue')tmp on a1.id=tmp.idset a1.item='value'...
  • MySQL数据表中数据的处理方法大家都有所了解,如果MySQL数据表的数据需要批量修改,能否实现呢?答案无疑是肯定的。在PHPwind 6.0的数据库里,它的会员资料存在pw_members里面,会员帐号正常状态下这个数据表里的...
  • mysql 5.7中 char和varchar字符类型对比及详细介绍在mysql中字符串常用的是定长 char和变长 varchar,我们以mysql5.7为背景详解讲解这两种类型的使用char最大长度是255 这个要注意,最大长度,定长在MySQL中限制长度...
  • 文章目录1. 创建表2. 添加字段3. 删除字段4. 修改字段4.1. 修改字段名称4.2....oracle ,mysql 5.7 数据库表字段添加、修改、删除等操作 1. 创建表 – Create table create table TB_PERMISSION_ORGAN
  • mysql 批量替换表字段内容

    千次阅读 2014-11-27 19:41:25
    zabbix 修改items sql 语句 UPDATE items SET key_ = REPLACE(key_,'6110','7110') WHERE hostid = '10162' 效果如下
  • SQL语句如下  表名 字段名 字段 原值 要修改 UPDATE yl_customer_info SET head_img=REPLACE (head_img,'fileImg','mapImg')
  • String url = "jdbc:mysql://192.168.11.211/education?useUnicode=true&characterEncoding=utf-8"; String user = "root"; String password = "12345678"; Connection con = (Connection) DriverManager.get...
  • MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助。...4.1添加表字段alter table table1 add transactor varch...
  • 我们在修改表字段类型和约束条件的时候,如果表中的字段已经有了,但是你修改的这个类型和字段里边的不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的是允许存空值,并且字段里边已经存储空值了,...
  • MySQL修改表结构.doc

    2020-08-10 08:37:48
    我们在修改表字段类型和约束条件的时候,如果表中的字段已经有了,但是你修改的这个类型和字段里边的不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的是允许存空值,并且字段里边已经存储空值了,...
  • 我们在修改表字段类型和约束条件的时候,如果表中的字段已经有了,但是你修改的这个类型和字段里边的不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的是允许存空值,并且字段里边已经存储空值了,...
  • -- 选择指定 库名 表名的字段SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA="dbname" AND TABLE_NAME="tablename"-- 修改表名ALTER TABLE a RENAME b-- 添加表字段ALTER TABLE a ADD ...
  • 点击“蓝字”关注我们我们在修改表字段类型和约束条件的时候,如果表中的字段已经有了,但是你修改的这个类型和字段里边的不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的是允许存空值,并且字段...
  • 点击“蓝字”关注我们我们在修改表字段类型和约束条件的时候,如果表中的字段已经有了,但是你修改的这个类型和字段里边的不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的是允许存空值,并且字段...
  • 今天批量修改一数据库表字段,用了字符串连接函数,MYSQL不像MS SQL那样简单用+,而了CONCAT函数 update images_tbl i INNER JOIN archives_tbl a ON a.title=i.titlemodel set i.download = CONCAT("/uploads/pdf/...
  • a)、给全表字段插入数据,不需要指定字段列表。要求数据的出现的顺序必须与表中设计的列中的字段的顺序一致,凡事非数值数据,都需要使用引号(推荐使用单引号)。语法:Insert into 表名 values (1,2,3.........
  • mysql 事务隔离

    2019-08-07 22:12:37
    读未提交:事务A修改了t 表字段 k =2,未提交事务,事务B 查询 表t ,查询到k为2,在该事务隔离状态下,事务B获取到的k修改后的 读提交:事务A 修改t表字段k=2,原值为1 未提交事务,事务B查询表t,查询到k ...
  • 新增 insert into tablename;...新增数据方案一: 给全表字段插入数据,不需要指定字段列表,但是要求数据的出现的顺序必须要与表中设计的字段出现的顺序一致。凡是非数值数据,都需要使用引号(建议单引号...
  • Mysql支持emoji表情

    2017-02-15 17:42:20
    现在很多输入法都带有emoji表情输入,Mysql默认编码不支持存储emoji表情,按照下面修改方法,可正常存放表情选中需要修改的数据库,选择Database Properties选项,如下图 ...修改表字段为对应的
  • 目录创建数据库创建数据表创建表使用主键约束使用外键约束使用唯一性约束使用默认值约束非空约束设置表的属性自动增加检查约束查看数据表结构查看表结构语句查看表详细结构语句修改表数据修改表名修改字段数据类型...
  • MYSQL常用命令

    2019-09-21 23:59:51
    1:修改表的字段长度 alter table 表名 modify 字段名 varchar(35); alter table user modify ...2:修改表字段内容:如设置user表的password字段 update user set password=md5('admin') where id=1; ...

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

mysql修改表字段值

mysql 订阅