美文网首页
SQL常用插入、修改、删除语句

SQL常用插入、修改、删除语句

作者: 一个小运维 | 来源:发表于2021-06-09 08:33 被阅读0次

插入语句

不指定列名的插入
  • 语法格式:
INSERT INTO 表名称 VALUES (值1, 值2,....)
  • 需要为所有列指定值
  • 值的顺序必须与表中列的顺序一致
  • 示例:
# 如果表中已有1号部门,则出错。因为dept_id是主键,不允许重复
mysql> insert into departments values(1, '行政部');
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

# mysql> insert into departments values(10, '行政部');
Query OK, 1 row affected (0.01 sec)
  • 支持多行插入
mysql> insert into employees values
    -> (134, '张三', '2019-5-10', '2000-10-12', 'zhangsan@guodong.com', '15088772354', 9),
    -> (135, '李四', '2020-8-20', '1999-6-23', 'lisi@guodong.com', '13323458734', 9);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

指定列名的插入

  • 语法格式:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  • 列和值的顺序要一致
  • 列名先后顺序不重要
  • 示例 :
mysql> insert into departments (dept_name, dept_id) values ('售后部', 11);
Query OK, 1 row affected (0.00 sec)
  • 主键由于是自动增长的,也可以不指定主键的值
mysql> insert into departments (dept_name) values ('咨询部');
Query OK, 1 row affected (0.00 sec)
  • 支持子查询
mysql> insert into employees
    -> (name, hire_date, birth_date, email, phone_number, dept_id)
    -> (
    ->   select name, hire_date, birth_date, email, phone_number, dept_id
    ->   from employees
    ->   where name='张三'
    -> );
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0

使用set语句

  • 语法格式:
INSERT INTO 表名 SET 列名1=列值1, 列名2=列值2, ...
  • 示例:
mysql> insert into departments set dept_name='采购部';
Query OK, 1 row affected (0.00 sec)

修改语句

修改单表记录
  • 语法:
UPDATE 表名称 SET 列名称=新值, 列名称=新值, ... WHERE 筛选条件
  • 示例:
# 修改人事部的名称为人力资源部
mysql> update departments set dept_name='人力资源部'
    -> where dept_name='人事部';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
修改多表记录
  • 语法:
UPDATE 表1 AS 表1别名
INNER | LEFT | RIGHT JOIN 表2 AS 表2别名
ON 连接条件
SET 列=值, 列=值, ...
WHERE 连接条件
  • 示例:
# 修改李四所在部门为企划部
mysql> update departments as d
    -> inner join employees as e
    -> on d.dept_id=e.dept_id
    -> set d.dept_name='企划部'
    -> where e.name='李四';

删除记录

删除单表记录
  • 语法:
DELETE FROM 表名 WHERE 筛选条件;
  • 删除的是满足条件的整行记录,而不是某个字段
  • 示例:
# 删除重复的员工张三,只保留一个张三的信息
# 查询张三信息
mysql> select * from employees where name='张三';

# 根据员工编号删除重复的张三
mysql> delete from employees where employee_id=136;
Query OK, 1 row affected (0.00 sec)
删除多表记录
  • 语法:
DELETE 表1别名, 表2别名
FROM 表1 AS 表1别名
INNER | LEFT | RIGHT JOIN 表2 AS 表2别名
ON 连接条件
WHERE 筛选条件
  • 示例:
# 删除9号部门中所有的员工
mysql> delete e
    -> from employees as e
    -> inner join departments as d
    -> on e.dept_id=d.dept_id
    -> where d.dept_id=9;
Query OK, 2 rows affected (0.00 sec)

清空表

  • 语法:
TRUNCATE TABLE 表名
  • TRUNCATE不支持WHERE条件
  • 自增长列,TRUNCATE后从1开始;DELETE继续编号
  • TRUNCATE不能回滚,DELETE可以
  • 效率略高于DELETE
  • 示例:
# 清空wage_grade表
mysql> truncate table wage_grade;
Query OK, 0 rows affected (0.01 sec)

相关文章

  • SQL (FMDB)

    SQL套餐 sql常用语句 创建表 查询 修改 删除 插入 删除表 FMDB 什么是FMDBFMDB是iOS平台的...

  • 一、数据库之SQL语句

    一、SQL创表 二、SQL-插入 三、SQL-修改 四、SQL-删除 五、SQL-查询 以上是SQL语句常用的用法...

  • SQL常用插入、修改、删除语句

    插入语句 不指定列名的插入 语法格式: 需要为所有列指定值 值的顺序必须与表中列的顺序一致 示例: 支持多行插入 ...

  • mysql 插入优化

    一条SQL语句插入多条数据。常用的插入语句如: 修改成: 修改后的插入操作能够提高程序的插入效率。这里第二种SQL...

  • SQL基础语句

    SQL 基本语句记录 新建表 删除表: 插入数据: 删除数据: 更新数据: 新增字段: 删除字段: 修改字段: 重...

  • [笔记]常用基本SQL语句

    创建表 插入数据 删除记录 DELETE 语句用于删除表中的记录(行)。 请注意 SQL DELETE 语句中的 ...

  • oracle学习笔记九——插入更新和删除(DML语句)

    九、插入更新和删除 SQL语句的类型:1.DML语句(Data Manipulation Language 数据操...

  • DML和DDL语言102-117

    #DML语言 /* 数据操作语言 插入:insert 修改:update 删除:delete */ #一、插入语句...

  • MyBatis 批量新增

    1.新增:--返回值为增加的的行数 SQL语句 2修改: SQL语句 3.批量删除

  • iOS SQLite.swift使用说明

    SQLite.swift使用说明 1、建表 等价于执行SQL语句 2、插入数据 等价于执行SQL语句 4、删除 等...

网友评论

      本文标题:SQL常用插入、修改、删除语句

      本文链接:https://www.haomeiwen.com/subject/zbyheltx.html