Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL数据增删改

MySQL数据库数据处理之增删改代码示例

作者:無限進步D

这篇文章主要介绍了MySQL数据库数据处理之增删改的相关资料,从基础语法到MySQL 8新特性计算列,本文用最清晰的方式教你INSERT、UPDATE、DELETE的实用技巧,文中通过代码介绍的非常详细,需要的朋友可以参考下

1. 插入数据

1.1 方式1:VALUES的方式添加

一次只能向表中插入一条数据

情况1:为表的所有字段按默认顺序插入数据

INSERT INTO 表名 
VALUES (value1,value2,....);

值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同(顺序与字段严格匹配)

eg:

INSERT INTO emp1
VALUES (1,'Tom','2000-12-21',3400);

情况2:为表的指定字段插入数据

INSERT INTO 表名(column1 [, column2, …, columnn]) 
VALUES (value1 [,value2, …, valuen]);

为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值(与小括号内指明字段顺序匹配

注意:没有指明的字段的值默认为NULL

eg:

INSERT INTO departments(department_id, department_name) VALUES (80, 'IT');

情况3:同时插入多条记录
插入时指定多个值列表,每个值列表之间用逗号分隔开

语法格式:

INSERT INTO table_name 
VALUES 
(value1 [,value2, …, valuen]), 
(value1 [,value2, …, valuen]), 
…… 
(value1 [,value2, …, valuen]);

或:

INSERT INTO table_name(column1 [, column2, …, columnn]) 
VALUES 
(value1 [,value2, …, valuen]), 
(value1 [,value2, …, valuen]), 
…… 
(value1 [,value2, …, valuen]);

使用INSERT同时插入多条记录时,MySQL会返回一些在执行单行插入时没有的额外信息
这些信息的含义如下:
● Records:表明插入的记录条数
● Duplicates:表明插入时被忽略的记录,原因可能是这些记录包含了重复的主键值
● Warnings:表明有问题的数据值,例如发生数据类型转换

多行的INSERT语句在处理过程中效率更高
因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入

注意:

1.2 方式2:将查询结果插入到表中

语法格式:

INSERT INTO 目标表名 
(tar_column1 [, tar_column2, …, tar_columnn]) 
SELECT (src_column1 [, src_column2, …, src_columnn]) 
FROM 源表名 
[WHERE condition]

eg:

INSERT INTO sales_reps(id, name, salary, commission_pct) 
SELECT employee_id, last_name, salary, commission_pct 
FROM employees 
WHERE job_id LIKE '%REP%';

2. 更新数据

使用 UPDATE 语句更新数据

语法格式:

UPDATE table_name 
SET column1=value1, column2=value2, … , column=valuen 
[WHERE condition]
UPDATE employees 
SET department_id = 70 
WHERE employee_id = 113;

3. 删除数据

使用 DELETE 语句从表中删除数据

语法格式:

DELETE FROM table_name 
[WHERE <condition>];

eg : 使用 WHERE 子句删除指定的记录

DELETE FROM departments 
WHERE department_name = 'Finance';

4. MySQL8新特性:计算列

计算列:某一列的值是通过别的列计算得来的

eg:a列值为1、b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列

MySQL 8.0中,CREATE TABLE 和 ALTER TABLE 都支持增加计算列,下面以CREATE TABLE为例学习

eg:定义数据表tb1,然后定义字段id、字段a、字段b和字段c,其中字段c为计算列,用于计算a+b的值。首先创建测试表tb1,语句如下:

CREATE TABLE tb1( 
	id INT, 
	a INT, 
	b INT, 
	c INT GENERATED ALWAYS AS (a + b) VIRTUAL 
);

总结 

到此这篇关于MySQL数据库数据处理之增删改的文章就介绍到这了,更多相关MySQL数据增删改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文