当前位置:   article > 正文

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

sql插入语句

插入语句

不指定列名的插入

  • 语法格式:

INSERT INTO 表名称 VALUES (值1, 值2,....)
  • 需要为所有列指定值
  • 值的顺序必须与表中列的顺序一致
  • 示例:

  1. # 如果表中已有1号部门,则出错。因为dept_id是主键,不允许重复
  2. mysql> insert into departments values(1, '行政部');
  3. ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
  4. # mysql> insert into departments values(10, '行政部');
  5. Query OK, 1 row affected (0.01 sec)
  • 支持多行插入

  1. mysql> insert into employees values
  2. -> (134, '张三', '2019-5-10', '2000-10-12', 'zhangsan@guodong.com', '15088772354', 9),
  3. -> (135, '李四', '2020-8-20', '1999-6-23', 'lisi@guodong.com', '13323458734', 9);
  4. Query OK, 2 rows affected (0.01 sec)
  5. Records: 2 Duplicates: 0 Warnings: 0

指定列名的插入

  • 语法格式:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  • 列和值的顺序要一致
  • 列名先后顺序不重要
  • 示例 :

  1. mysql> insert into departments (dept_name, dept_id) values ('售后部', 11);
  2. Query OK, 1 row affected (0.00 sec)
  • 主键由于是自动增长的,也可以不指定主键的值

  1. mysql> insert into departments (dept_name) values ('咨询部');
  2. Query OK, 1 row affected (0.00 sec)
  • 支持子查询

  1. mysql> insert into employees
  2. -> (name, hire_date, birth_date, email, phone_number, dept_id)
  3. -> (
  4. -> select name, hire_date, birth_date, email, phone_number, dept_id
  5. -> from employees
  6. -> where name='张三'
  7. -> );
  8. Query OK, 1 row affected (0.00 sec)
  9. Records: 1 Duplicates: 0 Warnings: 0

使用set语句

  • 语法格式:

INSERT INTO 表名 SET 列名1=列值1, 列名2=列值2, ...
  • 示例:

  1. mysql> insert into departments set dept_name='采购部';
  2. Query OK, 1 row affected (0.00 sec)

修改语句

修改单表记录

  • 语法:

UPDATE 表名称 SET 列名称=新值, 列名称=新值, ... WHERE 筛选条件
  • 示例:

  1. # 修改人事部的名称为人力资源部
  2. mysql> update departments set dept_name='人力资源部'
  3. -> where dept_name='人事部';
  4. Query OK, 1 row affected (0.00 sec)
  5. Rows matched: 1 Changed: 1 Warnings: 0

修改多表记录

  • 语法:

  1. UPDATE 表1 AS1别名
  2. INNER | LEFT | RIGHT JOIN 表2 AS2别名
  3. ON 连接条件
  4. SET=值, 列=值, ...
  5. WHERE 连接条件
  • 示例:

  1. # 修改李四所在部门为企划部
  2. mysql> update departments as d
  3. -> inner join employees as e
  4. -> on d.dept_id=e.dept_id
  5. -> set d.dept_name='企划部'
  6. -> where e.name='李四';

删除记录

删除单表记录

  • 语法:

DELETE FROM 表名 WHERE 筛选条件;
  • 删除的是满足条件的整行记录,而不是某个字段
  • 示例:

  1. # 删除重复的员工张三,只保留一个张三的信息
  2. # 查询张三信息
  3. mysql> select * from employees where name='张三';
  4. # 根据员工编号删除重复的张三
  5. mysql> delete from employees where employee_id=136;
  6. Query OK, 1 row affected (0.00 sec)

删除多表记录

  • 语法:

  1. DELETE1别名, 表2别名
  2. FROM1 AS1别名
  3. INNER | LEFT | RIGHT JOIN 表2 AS2别名
  4. ON 连接条件
  5. WHERE 筛选条件
  • 示例:

  1. # 删除9号部门中所有的员工
  2. mysql> delete e
  3. -> from employees as e
  4. -> inner join departments as d
  5. -> on e.dept_id=d.dept_id
  6. -> where d.dept_id=9;
  7. Query OK, 2 rows affected (0.00 sec)

清空表

  • 语法:

TRUNCATE TABLE 表名
  • TRUNCATE不支持WHERE条件
  • 自增长列,TRUNCATE后从1开始;DELETE继续编号
  • TRUNCATE不能回滚,DELETE可以
  • 效率略高于DELETE
  • 示例:

  1. # 清空wage_grade表
  2. mysql> truncate table wage_grade;
  3. Query OK, 0 rows affected (0.01 sec)



作者:一个小运维
链接:https://www.jianshu.com/p/b876ea9a40eb

相关资源:
rabbitmq入门和实战 - Dcsdn 

redis哨兵配置文件 - Dcsdn 

GitOps 初探 - Dcsdn

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/487802
推荐阅读
相关标签
  

闽ICP备14008679号