逐日SQL自教常识点(第十一天)—关于拔出、修_奇闻趣事网

逐日SQL自教常识点(第十一天)—关于拔出、修

奇闻趣事 2023-05-04 17:41www.bnfh.cn奇闻趣事

每日SQL自学知识点(第十一天)—关于插入、修改表的各种知识点

一、插入

插入记录的方式汇总

1.普通插入(全字段)INSERT INTO table_name VALUES (value1, value2, ...)

2.普通插入(限定字段)INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)

3.多条一次性插入INSERT INTO table_name (column1, column2, ...) VALUES (value1_1, value1_2, ...), (value2_1, value2_2, ...), ...

4.从另一个表导入INSERT INTO table_name SELECT FROM table_name2 [WHERE key=value]


插入某表格内容到另一个表里

注序号可以赋予空值null,就会自行排序


二、更新表

修改记录的方式汇总

  • 设置为新值UPDATE table_name SET column_name=ne_value [, column_name2=ne_value2] [WHERE column_name3=value3]
  • 根据已有值替换UPDATE table_name SET key1=replace(key1, '查找内容', '替换成内容') [WHERE column_name3=value3]


题目请把examination_info表中tag为PYTHON的tag字段全部修改为Python


解答

  • 本题采用两种修改方式均可,语义为『当tag为PYTHON时,修改tag为Python』,先用第一种:

UPDATE examination_info

SET tag = "Python"

WHERE tag = "PYTHON";



  • 如果采用第二种,写作

UPDATE examination_info

SET tag = REPLACE(tag, "PYTHON", "Python")

WHERE tag = "PYTHON";


  • 思维扩展第二种方式不仅可用于整体替换,还能做子串替换,例如要实现将tag中所有的PYTHON替换为Python(如CPYTHON=>CPython),可写作

UPDATE examination_info

SET tag = REPLACE(tag, "PYTHON", "Python")

WHERE tag LIKE "%PYTHON%";




三、修改表

题目请在用户信息表,字段level的后面增加一列最多可保存15个汉字的字段school;并将表中job列名改为profession,varchar字段长度变为10;achievement的默认值设置为0。


解答

alter table user_info add school varchar(15) after level;

增加列在某列之后

alter table 增加的表格 add 增加列的名称 数据类型 位置(after level 在level 之后)


alter table user_info change job profession varchar(10);

更换列的名称及数据类型

alter table user_info change 原列名 修改列名 修改数据类型


alter table user_info modify achievement int(11) default 0;

更改数据类型

alter table 表名 modify 修改列名称 数据类型 默认值等

Copyright © 2016-2025 www.bnfh.cn 怪异网 版权所有 Power by