长沙免费建站网络营销,国外 作品集 网站,app拉新项目,wordpress侧边栏实现插入数据
方式1#xff1a; 一条一条的添加数据
为表的所有字段按默认顺序插入数据
INSERT INTO 表名
VALUES (value1,value2,....);# 没有指明添加的字段
INSERT INTO emp1
VALUES (1,TOM,2023-11-06,3400);没有指明添加的字段#xff0c;要按照声明顺序#xff0c;进行…插入数据
方式1 一条一条的添加数据
为表的所有字段按默认顺序插入数据
INSERT INTO 表名
VALUES (value1,value2,....);# 没有指明添加的字段
INSERT INTO emp1
VALUES (1,TOM,2023-11-06,3400);没有指明添加的字段要按照声明顺序进行字段添加。
为表的所有字段按指明顺序插入数据 在INSERT语句中只向部分字段中插入值而其他字段的值为表定义时的默认值。 在 INSERT 子句中随意列出列名但是一旦列出VALUES中要插入的value1,....valuen需要与column1,...columnn列一一对应。
INSERT INTO 表名(column1 [, column2, …, columnn])
VALUES (value1 [,value2, …, valuen]);# 指明要添加的字段
INSERT INTO emp1(id,hire_date,salary,name)
VALUES(2,1999-09-09,4000,Jerry);# 说明没有进行赋值的hire_date 的值为 null
INSERT INTO emp1(id,salary,name)
VALUES(3,4500,shk);可以同时插入多条记录
INSERT INTO table_name
VALUES
(value1 [,value2, …, valuen]),
(value1 [,value2, …, valuen]),
……
(value1 [,value2, …, valuen]);INSERT INTO emp1(id,NAME,salary)
VALUES
(4,Jim,5000),
(5,张俊杰,5500);一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句但是多行的INSERT语句在处理过程中 效率更高 。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句快所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。
VALUES 也可以写成 VALUE 但是VALUES是标准写法
方式2 将查询结果插入到表中 INSERT还可以将SELECT语句查询的结果插入到表中此时不需要把每一条记录的值一个一个输入只需要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多行。
INSERT INTO 目标表名
(tar_column1 [, tar_column2, …, tar_columnn])
SELECT
(src_column1 [, src_column2, …, src_columnn])
FROM 源表名
[WHERE condition]在 INSERT 语句中加入子查询。 不必书写 VALUES 子句。 子查询中的值列表应与 INSERT 子句中的列名对应。
INSERT INTO emp1(id,NAME,salary,hire_date)
#查询语句
SELECT employee_id,last_name,salary,hire_date # 查询的字段一定要与添加到的表的字段一一对应
FROM employees
WHERE department_id IN (70,60);说明emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。 如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话就有添加不成功的风险。
更新数据
UPDATE table_name
SET column1value1, column2value2,..., columnnvaluen
[WHERE condition]可以一次更新多条数据。 如果需要回滚数据需要保证在DML前进行设置SET AUTOCOMMIT FALSE;
#同时修改一条数据的多个字段
UPDATE emp1
SET hire_date CURDATE(),salary 6000
WHERE id 4;使用 WHERE 子句指定需要更新的数据。 修改数据时是可能存在不成功的情况的。可能是由于约束的影响造成的
删除数据
DELETE FROM table_name
[WHERE condition];table_name指定要执行删除操作的表“[WHERE ]”为可选参数指定删除条件如果没有WHERE子句DELETE语句将删除表中的所有记录。
DELETE FROM emp1
WHERE id 1;#在删除数据时也有可能因为约束的影响导致删除失败
DELETE FROM departments
WHERE department_id 50;小结DML操作默认情况下执行完以后都会自动提交数据。 如果希望执行完以后不自动提交数据则需要使用 SET autocommit FALSE.
计算列
计算列简单来说就是某一列的值是通过别的列计算得来的。 在MySQL 8.0中CREATE TABLE 和 ALTER TABLE 中都支持增加计算列。
CREATE TABLE test1(
a INT,
b INT,
c INT GENERATED ALWAYS AS (a b) VIRTUAL #字段c即为计算列
);
INSERT INTO test1(a,b)
VALUES(10,20);
SELECT * FROM test1;UPDATE test1
SET a 100;数据库学习视频 【MySQL数据库入门到大牛mysql安装到优化百科全书级全网天花板】