失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > SQL常用插入 修改 删除语句

SQL常用插入 修改 删除语句

时间:2020-12-07 17:25:08

相关推荐

SQL常用插入 修改 删除语句

插入语句

不指定列名的插入

语法格式:

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, '张三', '-5-10', '2000-10-12', 'zhangsan@', '15088772354', 9),-> (135, '李四', '-8-20', '1999-6-23', 'lisi@', '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)

作者:一个小运维

链接:/p/b876ea9a40eb

相关资源:

rabbitmq入门和实战 - Dcsdn

redis哨兵配置文件 - Dcsdn

GitOps 初探 - Dcsdn

如果觉得《SQL常用插入 修改 删除语句》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。