当前位置: 首页 > article >正文

SQL中表相关的操作

创建表

  1. 创建空表

    CREATE TABLE 表名(
    id INT,
    name VARCHAR(15),
    update_time DATE
    ...
    );
    
  2. 基于已有表,创建新表
    说明:
    ① 查询语句中字段的别名,可以作为新创建表的字段名称
    ② 查询出来的结果会放入新表中

    CREATE TABLE 表名
    AS
    SELECT employee_id AS emp_id, last_name AS name, salary
    FROM employees;
    

操作表中的字段

  1. 添加一个字段

    # 默认将comment字段添加到末尾
    ALTER TABLE 表名
    ADD comment VARCHAR(50);
    
    # 指定将字段添加到头部
    ALTER TABLE 表名
    ADD comment VARCHAR(50) FIRST;
    
    # 指定将字段添加到某个字段的后面
    ALTER TABLE 表名
    ADD comment VARCHAR(50) AFTER name;
    
  2. 修改一个字段

    ALTER TABLE 表名
    MODIFY last_name VARCHAR(66);
    
  3. 重命名一个字段

    ALTER TABLE 表名
    CHANGE last_name new_last_name VARCHAR(66);
    
  4. 删除一个字段

    ALTER TABLE 表名
    DROP COLUMN 字段名;
    

重命名表

RENAME TABLE 表名
TO 新表名;

删除表

DROP TABLE IF EXISTS 表名1,表名2...;

清空表

TRUNCATE TABLE 表名;

插入数据

  1. 方式一:按表结构的顺序依次添加
    INSERT INTO emp
    VALUES (1, 'Andy', '2024-12-16', 10000);
    
  2. 方式二:指明字段
    INSERT INTO emp(id, salary, `name`, hire_date)
    VALUES(2, 5000, 'Tom', '2022-5-6');
    
  3. 方式三:添加多条记录
    INSERT INTO emp(id, name, salary)
    VALUES (3, 'Lusy', 6000),
    	   (4, 'Jerry', 8000);
    
  4. 方式四:将查询结果添加到表中(需要保证字段一一对应)
    INSERT INTO emp1(id, name, salary, hire_date)
    SELECT employee_id, last_name, salary, hire_date
    FROM employees
    WHERE department_id IN(70);
    

更新数据

没有WHERE,代表修改表中所有数据

# 修改emp1中id是4的hire_date为当前日期
UPDATE emp1
SET hire_date = CURDATE(), salary = 6000
WHERE id = 4;

删除数据

没有WHERE,代表删除表中所有数据

# 删除id是2的记录
DELETE FROM emp1
WHERE id = 2;

新特性:计算列

一个列是另外几个列计算得来的,即“计算列”

# c为计算列,a+b的值
CREATE TABLE test_generate(
a INT,
b INT,
c INT GENERATED ALWAYS AS (a + b) VIRTUAL
)
# 在新增数据时,计算列c会变化
INSERT INTO test_generate(a,b)
VALUES(1,2),
      (10,20);
# 在更新数据时,计算列c会变化
UPDATE test_generate
SET a = 5
WHERE b = 2;

http://www.kler.cn/a/443205.html

相关文章:

  • List ---- 模拟实现LIST功能的发现
  • 麦田物语学习笔记:背包物品选择高亮显示和动画
  • 51单片机(一) keil4工程与小灯实验
  • G-Star Landscape 2.0 重磅发布,助力开源生态再升级
  • vs2022开发.net窗体应用开发环境安装配置以及程序发布详细教程
  • 远程和本地文件的互相同步
  • 增材制造(3D打印):原理、类型、领域、优势、瓶颈、方向
  • Oracle JDK需登录下载解决
  • [Unity]Unity跨平台开发之针对Android开发
  • Nmap初步学习
  • React中定义和使用类式组件
  • nano编辑器的使用
  • 4.metagpt中的软件公司智能体 (ProjectManager 角色)
  • CSS Backgrounds(背景)
  • 干掉运动模糊!Deblur4DGS:清晰的高质量视频动态重建
  • Mongodb 启用认证
  • 图变换器的再思考:谱注意力网络
  • Oracle Database 21c Express Edition数据库 和 Sqlplus客户端安装配置
  • Unity类银河战士恶魔城学习总结(P178 Archer s arrow 弓箭手的箭)
  • 从Windows到Linux:跨平台数据库备份与还原
  • 利用Java爬虫获得京东JD商品SKU信息
  • 论文学习—VAE
  • 皮肤伤口分割数据集labelme格式248张5类别
  • 修改uniapp下拉刷新圆圈颜色
  • Unity UI SafeArea适配
  • vue-element-admin npm install 安装失败,tui-editor更名导致