step_by_step_alter.sql 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. -- ===============================================
  2. -- 分步骤修改business_cards表 - 逐步执行
  3. -- 说明:请一步一步执行,每执行一步后检查结果
  4. -- ===============================================
  5. -- 第1步:检查表是否存在
  6. SELECT table_name FROM information_schema.tables WHERE table_name = 'business_cards';
  7. -- 期望结果:应该返回 business_cards
  8. -- 第2步:查看当前表结构
  9. SELECT column_name, data_type FROM information_schema.columns
  10. WHERE table_name = 'business_cards' ORDER BY ordinal_position;
  11. -- 查看当前字段列表
  12. -- 第3步:添加age字段
  13. ALTER TABLE business_cards ADD COLUMN age INTEGER;
  14. -- 执行后应该返回:ALTER TABLE
  15. -- 第4步:验证age字段是否添加成功
  16. SELECT column_name, data_type FROM information_schema.columns
  17. WHERE table_name = 'business_cards' AND column_name = 'age';
  18. -- 期望结果:age | integer
  19. -- 第5步:添加native_place字段
  20. ALTER TABLE business_cards ADD COLUMN native_place TEXT;
  21. -- 执行后应该返回:ALTER TABLE
  22. -- 第6步:验证native_place字段是否添加成功
  23. SELECT column_name, data_type FROM information_schema.columns
  24. WHERE table_name = 'business_cards' AND column_name = 'native_place';
  25. -- 期望结果:native_place | text
  26. -- 第7步:为age字段添加注释
  27. COMMENT ON COLUMN business_cards.age IS '年龄字段 - 存储人员年龄信息,取值范围1-150';
  28. -- 执行后应该返回:COMMENT
  29. -- 第8步:为native_place字段添加注释
  30. COMMENT ON COLUMN business_cards.native_place IS '籍贯字段 - 存储人员籍贯或出生地信息';
  31. -- 执行后应该返回:COMMENT
  32. -- 第9步:最终验证 - 查看两个新字段
  33. SELECT column_name, data_type, is_nullable
  34. FROM information_schema.columns
  35. WHERE table_name = 'business_cards'
  36. AND column_name IN ('age', 'native_place')
  37. ORDER BY column_name;
  38. -- 期望结果:
  39. -- age | integer | YES
  40. -- native_place | text | YES
  41. -- 第10步:测试插入数据(可选)
  42. -- INSERT INTO business_cards (name_zh, age, native_place)
  43. -- VALUES ('测试', 30, '北京市') RETURNING id, name_zh, age, native_place;
  44. -- ===============================================
  45. -- 执行指南:
  46. -- 1. 复制每个步骤单独执行
  47. -- 2. 检查每步的执行结果
  48. -- 3. 如果某步失败,停止并检查错误原因
  49. -- 4. 全部完成后,新字段就可以正常使用了
  50. -- ===============================================