chapter05_ALTER和字符串函数

  • FIRST关键字可以把新添加的列放在表的最前面,主键一般作为表的第一列

  • ALTER的几种操作

    第二行:添加新列,并把这列置为表的第一列

    第三行:添加主键

    第四行:添加新列,并把这列放在contact_id列的后面(默认是放在最后一列)

    第五行:修改表名

    第六行:改变列的属性

    第七行:改变列的属性和名称

    第八行:卸除主键

    第九行:卸除某一列(同时删除改列的数据)

    示例

      ALTER TABLE my_contacts
      ADD COLUMN contact_id INT(4) NOT NULL AUTO_INCREMENT FIRST,
      ADD PRIMARY KEY (contact_id), 
      ADD COLUMN phone VARCHAR(10) AFTER contact_id,
      RENAME TO bochen_contacts,
      MODIFY COLUMN phone VARCHAR(11),
      CHANGE COLUMN phone phone_number VARCHAR(12),
      DROP PRIMARY KEY,
      DROP COLUMN contact_id;
    
  • ALTER 的各种操作可以写在一条语句里面,不同的改变操作用逗号,连接

  • 使用 MODIFY 和 CHANGE 改变数据类型时,两种数据类型兼容时SQL才会执行;

    有时虽然两种数据类型兼容,但是要考虑数据的截断问题

  • MODIFY和CHANGE的区别

    (1) MODIFY 只能改变列的属性;CHANGE 可以改变列的属性和列的名称

    (2) MODIFY 只需要写一次列名;CHANGE 无论是否想要改变列名,都要写 原列名 现列名

  • 增删改查都是不需要用TABLE关键字的,而ALTER是ALTER TABLE xxx

    增 INSERT INTO xxx (,,) VALUES (,,);

    删 DELETE FROM xxx WHERE ……;

    改 UPDATE xxx SET .. = .., ..=.. WHERE ……;

    查 SELECT .., .. FROM xxx WHERE ……;

  • 有用的字符串函数(部分)

      RIGHT(string, lenth) <--> string.substring(string.length() - length, string.length());
    
      LEFT(string, lenth)  <--> string.substring(0, length);
    
      UPPER(string)        <--> string.toUpperCase();
    
      LOWER(string)        <--> string.toLowerCase();
    
      SUBSTRING_INDEX(string, char, existingIndex)  <--> 找到出现过第existingIndex次的字符char前的所有内容,并返回
    
      SUBSTRING(string, start_index, length) <--> string.substring(start_index, start_index + length);
    
      REVERSE(string)      <--> 反转字符串
    
      LTRIM(string)        <--> 去掉左侧的空白字符
    
      RTRIM(string)        <--> 去掉右侧的空白字符
    
      LENGTH(string)       <--> string.length();
    

    SUBSTRING INDEX是比较独特的java没有内置的字符串处理函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值